Skip to content

Commit 33af787

Browse files
committed
[AppInfo] Fix freezing an app with "Remember for this app" turned on
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
1 parent 8973a5e commit 33af787

15 files changed

Lines changed: 50 additions & 29 deletions

File tree

app/src/main/java/io/github/muntashirakon/AppManager/apk/behavior/FreezeUnfreeze.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public static FreezeUnfreezeShortcutInfo getShortcutInfo(@NonNull Intent intent)
109109
@NonNull
110110
public static SearchableSingleChoiceDialogBuilder<Integer> getFreezeDialog(
111111
@NonNull Context context,
112-
@FreezeUtils.FreezeType int selectedType) {
112+
@FreezeUtils.FreezeMethod int selectedType) {
113113
CharSequence[] itemDescription = new CharSequence[FREEZING_METHODS.length];
114114
for (int i = 0; i < FREEZING_METHODS.length; ++i) {
115115
itemDescription[i] = new SpannableStringBuilder()

app/src/main/java/io/github/muntashirakon/AppManager/apk/behavior/FreezeUnfreezeActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public void checkNextFrozen() {
163163
mOpenAppOrFreeze.postValue(shortcutInfo);
164164
return;
165165
}
166-
int freezeType = Optional.ofNullable(FreezeUtils.getFreezingMethod(shortcutInfo.packageName))
166+
int freezeType = Optional.ofNullable(FreezeUtils.loadFreezeMethod(shortcutInfo.packageName))
167167
.orElse(Prefs.Blocking.getDefaultFreezingMethod());
168168
FreezeUtils.freeze(shortcutInfo.packageName, shortcutInfo.userId, freezeType);
169169
}
@@ -177,7 +177,7 @@ public void checkNextFrozen() {
177177
public void freezeFinal(FreezeUnfreezeShortcutInfo shortcutInfo) {
178178
ThreadUtils.postOnBackgroundThread(() -> {
179179
try {
180-
int freezeType = Optional.ofNullable(FreezeUtils.getFreezingMethod(shortcutInfo.packageName))
180+
int freezeType = Optional.ofNullable(FreezeUtils.loadFreezeMethod(shortcutInfo.packageName))
181181
.orElse(Prefs.Blocking.getDefaultFreezingMethod());
182182
FreezeUtils.freeze(shortcutInfo.packageName, shortcutInfo.userId, freezeType);
183183
mIsFrozenLiveData.postValue(new Pair<>(shortcutInfo, true));

app/src/main/java/io/github/muntashirakon/AppManager/apk/behavior/FreezeUnfreezeService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ private void freezeAllPackages() {
174174
| PackageManagerCompat.MATCH_STATIC_SHARED_AND_SDK_LIBRARIES, shortcutInfo.userId);
175175
Bitmap icon = getBitmapFromDrawable(applicationInfo.loadIcon(getApplication().getPackageManager()));
176176
shortcutInfo.setName(applicationInfo.loadLabel(getApplication().getPackageManager()));
177-
int freezeType = Optional.ofNullable(FreezeUtils.getFreezingMethod(shortcutInfo.packageName))
177+
int freezeType = Optional.ofNullable(FreezeUtils.loadFreezeMethod(shortcutInfo.packageName))
178178
.orElse(Prefs.Blocking.getDefaultFreezingMethod());
179179
FreezeUtils.freeze(shortcutInfo.packageName, shortcutInfo.userId, freezeType);
180180
shortcutInfo.setIcon(getDimmedBitmap(icon));

app/src/main/java/io/github/muntashirakon/AppManager/backup/BackupOp.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@ private void backupExtras() throws BackupException {
479479
}
480480
}
481481
// Backup freezeType
482-
Integer freezeType = FreezeUtils.getFreezingMethod(mPackageName);
482+
Integer freezeType = FreezeUtils.loadFreezeMethod(mPackageName);
483483
if (freezeType != null) {
484484
rules.setFreezeType(freezeType);
485485
}

app/src/main/java/io/github/muntashirakon/AppManager/backup/RestoreOp.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,7 @@ private synchronized void restoreExtras() throws BackupException {
668668
break;
669669
case FREEZE:
670670
int freezeType = ((FreezeRule) entry).getFreezeType();
671-
FreezeUtils.setFreezeMethod(mPackageName, freezeType);
671+
FreezeUtils.storeFreezeMethod(mPackageName, freezeType);
672672
break;
673673
}
674674
} catch (Throwable e) {

app/src/main/java/io/github/muntashirakon/AppManager/batchops/BatchOpsManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -589,7 +589,7 @@ private Result opFreeze(@NonNull BatchOpsInfo info) {
589589
pair = info.getPair(i);
590590
int type;
591591
if (options.isPreferCustom()) {
592-
type = Optional.ofNullable(FreezeUtils.getFreezingMethod(pair.getPackageName()))
592+
type = Optional.ofNullable(FreezeUtils.loadFreezeMethod(pair.getPackageName()))
593593
.orElse(options.getType());
594594
} else type = options.getType();
595595
try {

app/src/main/java/io/github/muntashirakon/AppManager/batchops/struct/BatchFreezeOptions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
public class BatchFreezeOptions implements IBatchOpOptions {
1616
public static final String TAG = BatchFreezeOptions.class.getSimpleName();
1717

18-
@FreezeUtils.FreezeType
18+
@FreezeUtils.FreezeMethod
1919
private int mType;
2020
private boolean mPreferCustom;
2121

22-
public BatchFreezeOptions(@FreezeUtils.FreezeType int type, boolean preferCustom) {
22+
public BatchFreezeOptions(@FreezeUtils.FreezeMethod int type, boolean preferCustom) {
2323
mType = type;
2424
mPreferCustom = preferCustom;
2525
}

app/src/main/java/io/github/muntashirakon/AppManager/db/dao/FreezeTypeDao.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
import androidx.annotation.NonNull;
66
import androidx.annotation.Nullable;
77
import androidx.room.Dao;
8+
import androidx.room.Delete;
9+
import androidx.room.Insert;
10+
import androidx.room.OnConflictStrategy;
811
import androidx.room.Query;
912

1013
import io.github.muntashirakon.AppManager.db.entity.FreezeType;
@@ -14,8 +17,11 @@
1417
public interface FreezeTypeDao {
1518
@Nullable
1619
@Query("SELECT * FROM freeze_type WHERE package_name = :packageName LIMIT 1")
17-
FreezeType get(@NonNull String packageName);
20+
FreezeType get(String packageName);
1821

19-
@Query("INSERT INTO freeze_type (package_name, type) VALUES (:packageName, :type)")
20-
void insert(@NonNull String packageName, @FreezeUtils.FreezeType int type);
22+
@Insert(onConflict = OnConflictStrategy.REPLACE)
23+
void insert(FreezeType freezeType);
24+
25+
@Query("DELETE FROM freeze_type WHERE package_name = :packageName")
26+
void delete(String packageName);
2127
}

app/src/main/java/io/github/muntashirakon/AppManager/db/entity/FreezeType.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ public class FreezeType {
1717
public String packageName;
1818

1919
@ColumnInfo(name = "type")
20-
@FreezeUtils.FreezeType
20+
@FreezeUtils.FreezeMethod
2121
public int type;
22+
23+
public FreezeType() {}
24+
25+
public FreezeType(@NonNull String packageName, @FreezeUtils.FreezeMethod int type) {
26+
this.packageName = packageName;
27+
this.type = type;
28+
}
2229
}

app/src/main/java/io/github/muntashirakon/AppManager/details/AppDetailsViewModel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ public LiveData<Integer> getFreezeTypeLiveData() {
192192

193193
public void loadFreezeType() {
194194
mExecutor.submit(() -> {
195-
Integer freezeType = FreezeUtils.getFreezingMethod(mPackageName);
195+
Integer freezeType = FreezeUtils.loadFreezeMethod(mPackageName);
196196
mFreezeTypeLiveData.postValue(freezeType);
197197
});
198198
}

0 commit comments

Comments
 (0)