Fix reboot system menu packageName (#2711)
This commit is contained in:
parent
4a98189f9f
commit
4d5588778d
|
|
@ -54,7 +54,7 @@ public class AppHelper {
|
||||||
|
|
||||||
List<ResolveInfo> ris = ConfigManager.queryIntentActivitiesAsUser(intentToResolve, 0, userId);
|
List<ResolveInfo> ris = ConfigManager.queryIntentActivitiesAsUser(intentToResolve, 0, userId);
|
||||||
|
|
||||||
if (ris.size() <= 0) {
|
if (ris.size() == 0) {
|
||||||
return getLaunchIntentForPackage(packageName, userId);
|
return getLaunchIntentForPackage(packageName, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -73,14 +73,14 @@ public class AppHelper {
|
||||||
intentToResolve.setPackage(packageName);
|
intentToResolve.setPackage(packageName);
|
||||||
List<ResolveInfo> ris = ConfigManager.queryIntentActivitiesAsUser(intentToResolve, 0, userId);
|
List<ResolveInfo> ris = ConfigManager.queryIntentActivitiesAsUser(intentToResolve, 0, userId);
|
||||||
|
|
||||||
if (ris.size() <= 0) {
|
if (ris.size() == 0) {
|
||||||
intentToResolve.removeCategory(Intent.CATEGORY_INFO);
|
intentToResolve.removeCategory(Intent.CATEGORY_INFO);
|
||||||
intentToResolve.addCategory(Intent.CATEGORY_LAUNCHER);
|
intentToResolve.addCategory(Intent.CATEGORY_LAUNCHER);
|
||||||
intentToResolve.setPackage(packageName);
|
intentToResolve.setPackage(packageName);
|
||||||
ris = ConfigManager.queryIntentActivitiesAsUser(intentToResolve, 0, userId);
|
ris = ConfigManager.queryIntentActivitiesAsUser(intentToResolve, 0, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ris.size() <= 0) {
|
if (ris.size() == 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -117,25 +117,20 @@ public class AppHelper {
|
||||||
|
|
||||||
public static Comparator<PackageInfo> getAppListComparator(int sort, PackageManager pm) {
|
public static Comparator<PackageInfo> getAppListComparator(int sort, PackageManager pm) {
|
||||||
ApplicationInfo.DisplayNameComparator displayNameComparator = new ApplicationInfo.DisplayNameComparator(pm);
|
ApplicationInfo.DisplayNameComparator displayNameComparator = new ApplicationInfo.DisplayNameComparator(pm);
|
||||||
switch (sort) {
|
return switch (sort) {
|
||||||
case 7:
|
case 7 ->
|
||||||
return Collections.reverseOrder(Comparator.comparingLong((PackageInfo a) -> a.lastUpdateTime));
|
Collections.reverseOrder(Comparator.comparingLong((PackageInfo a) -> a.lastUpdateTime));
|
||||||
case 6:
|
case 6 -> Comparator.comparingLong((PackageInfo a) -> a.lastUpdateTime);
|
||||||
return Comparator.comparingLong((PackageInfo a) -> a.lastUpdateTime);
|
case 5 ->
|
||||||
case 5:
|
Collections.reverseOrder(Comparator.comparingLong((PackageInfo a) -> a.firstInstallTime));
|
||||||
return Collections.reverseOrder(Comparator.comparingLong((PackageInfo a) -> a.firstInstallTime));
|
case 4 -> Comparator.comparingLong((PackageInfo a) -> a.firstInstallTime);
|
||||||
case 4:
|
case 3 -> Collections.reverseOrder(Comparator.comparing(a -> a.packageName));
|
||||||
return Comparator.comparingLong((PackageInfo a) -> a.firstInstallTime);
|
case 2 -> Comparator.comparing(a -> a.packageName);
|
||||||
case 3:
|
case 1 ->
|
||||||
return Collections.reverseOrder(Comparator.comparing(a -> a.packageName));
|
Collections.reverseOrder((PackageInfo a, PackageInfo b) -> displayNameComparator.compare(a.applicationInfo, b.applicationInfo));
|
||||||
case 2:
|
default ->
|
||||||
return Comparator.comparing(a -> a.packageName);
|
(PackageInfo a, PackageInfo b) -> displayNameComparator.compare(a.applicationInfo, b.applicationInfo);
|
||||||
case 1:
|
};
|
||||||
return Collections.reverseOrder((PackageInfo a, PackageInfo b) -> displayNameComparator.compare(a.applicationInfo, b.applicationInfo));
|
|
||||||
case 0:
|
|
||||||
default:
|
|
||||||
return (PackageInfo a, PackageInfo b) -> displayNameComparator.compare(a.applicationInfo, b.applicationInfo);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized public static List<PackageInfo> getAppList(boolean force) {
|
synchronized public static List<PackageInfo> getAppList(boolean force) {
|
||||||
|
|
@ -149,6 +144,7 @@ public class AppHelper {
|
||||||
p.setDataPosition(0);
|
p.setDataPosition(0);
|
||||||
system = PackageInfo.CREATOR.createFromParcel(p);
|
system = PackageInfo.CREATOR.createFromParcel(p);
|
||||||
system.packageName = "system";
|
system.packageName = "system";
|
||||||
|
system.applicationInfo.packageName = system.packageName;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -144,7 +144,7 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter<Scope
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private ApplicationInfo selectedInfo;
|
private ApplicationInfo selectedApplicationInfo;
|
||||||
private boolean isLoaded = false;
|
private boolean isLoaded = false;
|
||||||
private boolean enabled = true;
|
private boolean enabled = true;
|
||||||
|
|
||||||
|
|
@ -300,7 +300,7 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter<Scope
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean onContextItemSelected(@NonNull MenuItem item) {
|
public boolean onContextItemSelected(@NonNull MenuItem item) {
|
||||||
ApplicationInfo info = selectedInfo;
|
var info = selectedApplicationInfo;
|
||||||
if (info == null) {
|
if (info == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -321,7 +321,11 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter<Scope
|
||||||
ConfigManager.startActivityAsUserWithFeature(new Intent(ACTION_APPLICATION_DETAILS_SETTINGS, Uri.fromParts("package", info.packageName, null)), module.userId);
|
ConfigManager.startActivityAsUserWithFeature(new Intent(ACTION_APPLICATION_DETAILS_SETTINGS, Uri.fromParts("package", info.packageName, null)), module.userId);
|
||||||
} else if (itemId == R.id.menu_force_stop) {
|
} else if (itemId == R.id.menu_force_stop) {
|
||||||
if (info.packageName.equals("system")) {
|
if (info.packageName.equals("system")) {
|
||||||
ConfigManager.reboot();
|
new BlurBehindDialogBuilder(activity, R.style.ThemeOverlay_MaterialAlertDialog_Centered_FullWidthButtons)
|
||||||
|
.setTitle(R.string.reboot)
|
||||||
|
.setPositiveButton(android.R.string.ok, (dialog, which) -> ConfigManager.reboot())
|
||||||
|
.setNegativeButton(android.R.string.cancel, null)
|
||||||
|
.show();
|
||||||
} else {
|
} else {
|
||||||
new BlurBehindDialogBuilder(activity, R.style.ThemeOverlay_MaterialAlertDialog_Centered_FullWidthButtons)
|
new BlurBehindDialogBuilder(activity, R.style.ThemeOverlay_MaterialAlertDialog_Centered_FullWidthButtons)
|
||||||
.setTitle(R.string.force_stop_dlg_title)
|
.setTitle(R.string.force_stop_dlg_title)
|
||||||
|
|
@ -346,34 +350,26 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter<Scope
|
||||||
menu.findItem(R.id.item_filter_modules).setChecked(preferences.getBoolean("filter_modules", true));
|
menu.findItem(R.id.item_filter_modules).setChecked(preferences.getBoolean("filter_modules", true));
|
||||||
menu.findItem(R.id.item_filter_denylist).setChecked(preferences.getBoolean("filter_denylist", false));
|
menu.findItem(R.id.item_filter_denylist).setChecked(preferences.getBoolean("filter_denylist", false));
|
||||||
switch (preferences.getInt("list_sort", 0)) {
|
switch (preferences.getInt("list_sort", 0)) {
|
||||||
case 7:
|
case 7 -> {
|
||||||
menu.findItem(R.id.item_sort_by_update_time).setChecked(true);
|
menu.findItem(R.id.item_sort_by_update_time).setChecked(true);
|
||||||
menu.findItem(R.id.reverse).setChecked(true);
|
menu.findItem(R.id.reverse).setChecked(true);
|
||||||
break;
|
}
|
||||||
case 6:
|
case 6 -> menu.findItem(R.id.item_sort_by_update_time).setChecked(true);
|
||||||
menu.findItem(R.id.item_sort_by_update_time).setChecked(true);
|
case 5 -> {
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
menu.findItem(R.id.item_sort_by_install_time).setChecked(true);
|
menu.findItem(R.id.item_sort_by_install_time).setChecked(true);
|
||||||
menu.findItem(R.id.reverse).setChecked(true);
|
menu.findItem(R.id.reverse).setChecked(true);
|
||||||
break;
|
}
|
||||||
case 4:
|
case 4 -> menu.findItem(R.id.item_sort_by_install_time).setChecked(true);
|
||||||
menu.findItem(R.id.item_sort_by_install_time).setChecked(true);
|
case 3 -> {
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
menu.findItem(R.id.item_sort_by_package_name).setChecked(true);
|
menu.findItem(R.id.item_sort_by_package_name).setChecked(true);
|
||||||
menu.findItem(R.id.reverse).setChecked(true);
|
menu.findItem(R.id.reverse).setChecked(true);
|
||||||
break;
|
}
|
||||||
case 2:
|
case 2 -> menu.findItem(R.id.item_sort_by_package_name).setChecked(true);
|
||||||
menu.findItem(R.id.item_sort_by_package_name).setChecked(true);
|
case 1 -> {
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
menu.findItem(R.id.item_sort_by_name).setChecked(true);
|
menu.findItem(R.id.item_sort_by_name).setChecked(true);
|
||||||
menu.findItem(R.id.reverse).setChecked(true);
|
menu.findItem(R.id.reverse).setChecked(true);
|
||||||
break;
|
}
|
||||||
case 0:
|
case 0 -> menu.findItem(R.id.item_sort_by_name).setChecked(true);
|
||||||
menu.findItem(R.id.item_sort_by_name).setChecked(true);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -418,7 +414,6 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter<Scope
|
||||||
} else {
|
} else {
|
||||||
holder.appVersionName.setVisibility(View.VISIBLE);
|
holder.appVersionName.setVisibility(View.VISIBLE);
|
||||||
holder.appPackageName.setText(appInfo.packageName);
|
holder.appPackageName.setText(appInfo.packageName);
|
||||||
|
|
||||||
}
|
}
|
||||||
holder.appPackageName.setVisibility(View.VISIBLE);
|
holder.appPackageName.setVisibility(View.VISIBLE);
|
||||||
holder.appVersionName.setText(activity.getString(R.string.app_version, appInfo.packageInfo.versionName));
|
holder.appVersionName.setText(activity.getString(R.string.app_version, appInfo.packageInfo.versionName));
|
||||||
|
|
@ -481,7 +476,7 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter<Scope
|
||||||
});
|
});
|
||||||
holder.itemView.setOnLongClickListener(v -> {
|
holder.itemView.setOnLongClickListener(v -> {
|
||||||
fragment.searchView.clearFocus();
|
fragment.searchView.clearFocus();
|
||||||
selectedInfo = appInfo.applicationInfo;
|
selectedApplicationInfo = appInfo.applicationInfo;
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue