[app] Fix get launch intent
This commit is contained in:
parent
e2bb7d42f2
commit
c0b556f2d8
|
|
@ -40,7 +40,7 @@ public class AppHelper {
|
|||
public static final String SETTINGS_CATEGORY = "de.robv.android.xposed.category.MODULE_SETTINGS";
|
||||
private static List<PackageInfo> appList;
|
||||
|
||||
public static Intent getSettingsIntent(String packageName, int userId, PackageManager packageManager) {
|
||||
public static Intent getSettingsIntent(String packageName, int userId) {
|
||||
Intent intentToResolve = new Intent(Intent.ACTION_MAIN);
|
||||
intentToResolve.addCategory(SETTINGS_CATEGORY);
|
||||
intentToResolve.setPackage(packageName);
|
||||
|
|
@ -82,23 +82,6 @@ public class AppHelper {
|
|||
return intent;
|
||||
}
|
||||
|
||||
public static Intent getIntentForCategory(String packageName, int userId, PackageManager packageManager, String category) {
|
||||
Intent intentToResolve = new Intent(Intent.ACTION_MAIN);
|
||||
intentToResolve.addCategory(category);
|
||||
intentToResolve.setPackage(packageName);
|
||||
|
||||
List<ResolveInfo> ris = ConfigManager.queryIntentActivitiesAsUser(intentToResolve, 0, userId);
|
||||
|
||||
if (ris.size() <= 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Intent intent = new Intent(intentToResolve);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
intent.setClassName(ris.get(0).activityInfo.packageName, ris.get(0).activityInfo.name);
|
||||
return intent;
|
||||
}
|
||||
|
||||
public static boolean onOptionsItemSelected(MenuItem item, SharedPreferences preferences) {
|
||||
int itemId = item.getItemId();
|
||||
if (itemId == R.id.item_sort_by_name) {
|
||||
|
|
|
|||
|
|
@ -255,7 +255,7 @@ public class ScopeAdapter extends RecyclerView.Adapter<ScopeAdapter.ViewHolder>
|
|||
item.setChecked(!item.isChecked());
|
||||
preferences.edit().putBoolean("filter_modules", item.isChecked()).apply();
|
||||
} else if (itemId == R.id.menu_launch) {
|
||||
Intent launchIntent = AppHelper.getSettingsIntent(module.packageName, module.userId, pm);
|
||||
Intent launchIntent = AppHelper.getSettingsIntent(module.packageName, module.userId);
|
||||
if (launchIntent != null) {
|
||||
ConfigManager.startActivityAsUserWithFeature(launchIntent, module.userId);
|
||||
} else {
|
||||
|
|
@ -288,7 +288,7 @@ public class ScopeAdapter extends RecyclerView.Adapter<ScopeAdapter.ViewHolder>
|
|||
}
|
||||
int itemId = item.getItemId();
|
||||
if (itemId == R.id.menu_launch) {
|
||||
Intent launchIntent = pm.getLaunchIntentForPackage(info.packageName);
|
||||
Intent launchIntent = AppHelper.getLaunchIntentForPackage(info.packageName, info.uid / 100000);
|
||||
if (launchIntent != null) {
|
||||
ConfigManager.startActivityAsUserWithFeature(launchIntent, module.userId);
|
||||
}
|
||||
|
|
@ -324,7 +324,7 @@ public class ScopeAdapter extends RecyclerView.Adapter<ScopeAdapter.ViewHolder>
|
|||
|
||||
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
|
||||
inflater.inflate(R.menu.menu_app_list, menu);
|
||||
Intent intent = AppHelper.getSettingsIntent(module.packageName, module.userId, pm);
|
||||
Intent intent = AppHelper.getSettingsIntent(module.packageName, module.userId);
|
||||
if (intent == null) {
|
||||
menu.removeItem(R.id.menu_launch);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -301,7 +301,7 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi
|
|||
if (packageName == null) {
|
||||
return false;
|
||||
}
|
||||
Intent intent = AppHelper.getSettingsIntent(packageName, module.userId, pm);
|
||||
Intent intent = AppHelper.getSettingsIntent(packageName, module.userId);
|
||||
if (intent != null) {
|
||||
ConfigManager.startActivityAsUserWithFeature(intent, module.userId);
|
||||
} else {
|
||||
|
|
@ -491,7 +491,7 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi
|
|||
holder.itemView.setOnCreateContextMenuListener((menu, v, menuInfo) -> {
|
||||
getMenuInflater().inflate(R.menu.context_menu_modules, menu);
|
||||
menu.setHeaderTitle(item.getAppName());
|
||||
Intent intent = AppHelper.getSettingsIntent(item.packageName, item.userId, pm);
|
||||
Intent intent = AppHelper.getSettingsIntent(item.packageName, item.userId);
|
||||
if (intent == null) {
|
||||
menu.removeItem(R.id.menu_launch);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue