Skip to content

Commit a30e896

Browse files
committed
Open app info on long press
1 parent 2fb2288 commit a30e896

File tree

1 file changed

+27
-4
lines changed

1 file changed

+27
-4
lines changed

app/src/main/java/app/olauncher/light/MainActivity.java

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ public class MainActivity extends Activity implements View.OnClickListener, View
5656

5757
public interface AppClickListener {
5858
void appClicked(AppModel appModel, int flag);
59+
60+
void appLongPress(AppModel appModel);
5961
}
6062

6163
@Override
@@ -297,6 +299,13 @@ private void launchApp(AppModel appModel) {
297299
}
298300
}
299301

302+
private void openAppInfo(AppModel appModel) {
303+
LauncherApps launcher = (LauncherApps) getSystemService(Context.LAUNCHER_APPS_SERVICE);
304+
Intent intent = getPackageManager().getLaunchIntentForPackage(appModel.appPackage);
305+
if (intent == null || intent.getComponent() == null) return;
306+
launcher.startAppDetailsActivity(intent.getComponent(), appModel.userHandle, null, null);
307+
}
308+
300309
private void setHomeApp(AppModel appModel, int flag) {
301310
prefs.setHomeApp(appModel, flag);
302311
backToHome();
@@ -314,7 +323,7 @@ private String getDefaultLauncherPackage() {
314323
intent.setAction(Intent.ACTION_MAIN);
315324
intent.addCategory(Intent.CATEGORY_HOME);
316325
ResolveInfo result = getPackageManager().resolveActivity(intent, 0);
317-
if (result == null && result.activityInfo == null)
326+
if (result == null || result.activityInfo == null)
318327
return "android";
319328
return result.activityInfo.packageName;
320329
}
@@ -421,9 +430,18 @@ private void checkForDoubleTap() {
421430
}
422431

423432
private AppClickListener getAppClickListener() {
424-
return (appModel, flag) -> {
425-
if (flag == FLAG_LAUNCH_APP) prepareToLaunchApp(appModel);
426-
else setHomeApp(appModel, flag);
433+
return new AppClickListener() {
434+
@Override
435+
public void appClicked(AppModel appModel, int flag) {
436+
if (flag == FLAG_LAUNCH_APP) prepareToLaunchApp(appModel);
437+
else setHomeApp(appModel, flag);
438+
}
439+
440+
@Override
441+
public void appLongPress(AppModel appModel) {
442+
hideKeyboard();
443+
openAppInfo(appModel);
444+
}
427445
};
428446
}
429447

@@ -584,6 +602,11 @@ public View getView(int position, View convertView, ViewGroup parent) {
584602
AppModel clickedAppModel = (AppModel) viewHolder.appName.getTag();
585603
appClickListener.appClicked(clickedAppModel, flag);
586604
});
605+
viewHolder.appName.setOnLongClickListener(view -> {
606+
AppModel clickedAppModel = (AppModel) viewHolder.appName.getTag();
607+
appClickListener.appLongPress(clickedAppModel);
608+
return true;
609+
});
587610
if (appModel.userHandle == android.os.Process.myUserHandle())
588611
viewHolder.indicator.setVisibility(View.GONE);
589612
else viewHolder.indicator.setVisibility(View.VISIBLE);

0 commit comments

Comments
 (0)