[app] Fix install dialog long clickable (#645)
This commit is contained in:
parent
02fd5be2fc
commit
e6fba900f4
|
|
@ -291,26 +291,25 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onContextItemSelected(@NonNull MenuItem item) {
|
public boolean onContextItemSelected(@NonNull MenuItem item) {
|
||||||
ModuleUtil.InstalledModule module = ModuleUtil.getInstance().getModule(selectedModule.packageName, selectedModule.userId);
|
if (selectedModule == null) {
|
||||||
if (module == null) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
int itemId = item.getItemId();
|
int itemId = item.getItemId();
|
||||||
if (itemId == R.id.menu_launch) {
|
if (itemId == R.id.menu_launch) {
|
||||||
String packageName = module.packageName;
|
String packageName = selectedModule.packageName;
|
||||||
if (packageName == null) {
|
if (packageName == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
Intent intent = AppHelper.getSettingsIntent(packageName, module.userId);
|
Intent intent = AppHelper.getSettingsIntent(packageName, selectedModule.userId);
|
||||||
if (intent != null) {
|
if (intent != null) {
|
||||||
ConfigManager.startActivityAsUserWithFeature(intent, module.userId);
|
ConfigManager.startActivityAsUserWithFeature(intent, selectedModule.userId);
|
||||||
} else {
|
} else {
|
||||||
Snackbar.make(binding.snackbar, R.string.module_no_ui, Snackbar.LENGTH_LONG).show();
|
Snackbar.make(binding.snackbar, R.string.module_no_ui, Snackbar.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} else if (itemId == R.id.menu_other_app) {
|
} else if (itemId == R.id.menu_other_app) {
|
||||||
var intent = new Intent(Intent.ACTION_SHOW_APP_INFO);
|
var intent = new Intent(Intent.ACTION_SHOW_APP_INFO);
|
||||||
intent.putExtra(Intent.EXTRA_PACKAGE_NAME, module.packageName);
|
intent.putExtra(Intent.EXTRA_PACKAGE_NAME, selectedModule.packageName);
|
||||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
try {
|
try {
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
|
|
@ -319,17 +318,17 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} else if (itemId == R.id.menu_app_info) {
|
} else if (itemId == R.id.menu_app_info) {
|
||||||
ConfigManager.startActivityAsUserWithFeature(new Intent(ACTION_APPLICATION_DETAILS_SETTINGS, Uri.fromParts("package", module.packageName, null)), module.userId);
|
ConfigManager.startActivityAsUserWithFeature(new Intent(ACTION_APPLICATION_DETAILS_SETTINGS, Uri.fromParts("package", selectedModule.packageName, null)), selectedModule.userId);
|
||||||
return true;
|
return true;
|
||||||
} else if (itemId == R.id.menu_uninstall) {
|
} else if (itemId == R.id.menu_uninstall) {
|
||||||
new AlertDialog.Builder(this)
|
new AlertDialog.Builder(this)
|
||||||
.setTitle(module.getAppName())
|
.setTitle(selectedModule.getAppName())
|
||||||
.setMessage(R.string.module_uninstall_message)
|
.setMessage(R.string.module_uninstall_message)
|
||||||
.setPositiveButton(android.R.string.ok, (dialog, which) ->
|
.setPositiveButton(android.R.string.ok, (dialog, which) ->
|
||||||
workHandler.post(() -> {
|
workHandler.post(() -> {
|
||||||
boolean success = ConfigManager.uninstallPackage(module.packageName, module.userId);
|
boolean success = ConfigManager.uninstallPackage(selectedModule.packageName, selectedModule.userId);
|
||||||
runOnUiThread(() -> {
|
runOnUiThread(() -> {
|
||||||
String text = success ? getString(R.string.module_uninstalled, module.getAppName()) : getString(R.string.module_uninstall_failed);
|
String text = success ? getString(R.string.module_uninstalled, selectedModule.getAppName()) : getString(R.string.module_uninstall_failed);
|
||||||
if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) {
|
if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) {
|
||||||
Snackbar.make(binding.snackbar, text, Snackbar.LENGTH_SHORT).show();
|
Snackbar.make(binding.snackbar, text, Snackbar.LENGTH_SHORT).show();
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -337,7 +336,7 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (success)
|
if (success)
|
||||||
moduleUtil.reloadSingleModule(module.packageName, module.userId);
|
moduleUtil.reloadSingleModule(selectedModule.packageName, selectedModule.userId);
|
||||||
}))
|
}))
|
||||||
.setNegativeButton(android.R.string.cancel, null)
|
.setNegativeButton(android.R.string.cancel, null)
|
||||||
.show();
|
.show();
|
||||||
|
|
@ -345,12 +344,12 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi
|
||||||
} else if (itemId == R.id.menu_repo) {
|
} else if (itemId == R.id.menu_repo) {
|
||||||
Intent intent = new Intent();
|
Intent intent = new Intent();
|
||||||
intent.setClass(this, RepoItemActivity.class);
|
intent.setClass(this, RepoItemActivity.class);
|
||||||
intent.putExtra("modulePackageName", module.packageName);
|
intent.putExtra("modulePackageName", selectedModule.packageName);
|
||||||
intent.putExtra("moduleName", module.getAppName());
|
intent.putExtra("moduleName", selectedModule.getAppName());
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
return true;
|
return true;
|
||||||
} else if (item.getGroupId() == 1) {
|
} else if (item.getGroupId() == 1) {
|
||||||
installModuleToUser(module, itemId);
|
installModuleToUser(selectedModule, itemId);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return super.onContextItemSelected(item);
|
return super.onContextItemSelected(item);
|
||||||
|
|
@ -488,6 +487,18 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi
|
||||||
}
|
}
|
||||||
holder.appDescription.setText(sb);
|
holder.appDescription.setText(sb);
|
||||||
|
|
||||||
|
if (!isPick) {
|
||||||
|
holder.root.setAlpha(moduleUtil.isModuleEnabled(item.packageName) ? 1.0f : .5f);
|
||||||
|
holder.itemView.setOnClickListener(v -> {
|
||||||
|
Intent intent = new Intent(ModulesActivity.this, AppListActivity.class);
|
||||||
|
intent.putExtra("modulePackageName", item.packageName);
|
||||||
|
intent.putExtra("moduleUserId", item.userId);
|
||||||
|
startActivity(intent);
|
||||||
|
});
|
||||||
|
holder.itemView.setOnLongClickListener(v -> {
|
||||||
|
selectedModule = item;
|
||||||
|
return false;
|
||||||
|
});
|
||||||
holder.itemView.setOnCreateContextMenuListener((menu, v, menuInfo) -> {
|
holder.itemView.setOnCreateContextMenuListener((menu, v, menuInfo) -> {
|
||||||
getMenuInflater().inflate(R.menu.context_menu_modules, menu);
|
getMenuInflater().inflate(R.menu.context_menu_modules, menu);
|
||||||
menu.setHeaderTitle(item.getAppName());
|
menu.setHeaderTitle(item.getAppName());
|
||||||
|
|
@ -512,20 +523,6 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!isPick) {
|
|
||||||
holder.root.setAlpha(moduleUtil.isModuleEnabled(item.packageName) ? 1.0f : .5f);
|
|
||||||
holder.itemView.setOnClickListener(v -> {
|
|
||||||
Intent intent = new Intent(ModulesActivity.this, AppListActivity.class);
|
|
||||||
intent.putExtra("modulePackageName", item.packageName);
|
|
||||||
intent.putExtra("moduleUserId", item.userId);
|
|
||||||
startActivity(intent);
|
|
||||||
});
|
|
||||||
|
|
||||||
holder.itemView.setOnLongClickListener(v -> {
|
|
||||||
selectedModule = item;
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
holder.appVersion.setVisibility(View.VISIBLE);
|
holder.appVersion.setVisibility(View.VISIBLE);
|
||||||
holder.appVersion.setText(item.versionName);
|
holder.appVersion.setText(item.versionName);
|
||||||
holder.appVersion.setSelected(true);
|
holder.appVersion.setSelected(true);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue