From 43ef8324bf722cb2416e9e58baa0455b77105b4d Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 17 Sep 2018 03:33:41 +0300 Subject: [PATCH] fix: home activity not found --- leankeykeyboard/build.gradle | 4 ++-- leankeykeyboard/src/main/AndroidManifest.xml | 7 +++++-- ...Activity.java => GenericLaunchActivity.java} | 17 ++++++++++++++--- 3 files changed, 21 insertions(+), 7 deletions(-) rename leankeykeyboard/src/main/java/com/liskovsoft/other/{SettingsActivity.java => GenericLaunchActivity.java} (81%) diff --git a/leankeykeyboard/build.gradle b/leankeykeyboard/build.gradle index f20b4de..209789f 100644 --- a/leankeykeyboard/build.gradle +++ b/leankeykeyboard/build.gradle @@ -8,8 +8,8 @@ android { applicationId "org.liskovsoft.leankeykeyboard.pro" minSdkVersion project.properties.minSdkVersion targetSdkVersion project.properties.targetSdkVersion - versionCode 78 - versionName "4.3.28" + versionCode 79 + versionName "4.3.29" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" diff --git a/leankeykeyboard/src/main/AndroidManifest.xml b/leankeykeyboard/src/main/AndroidManifest.xml index 4d2451a..b8af890 100644 --- a/leankeykeyboard/src/main/AndroidManifest.xml +++ b/leankeykeyboard/src/main/AndroidManifest.xml @@ -5,9 +5,12 @@ - + - + + + + diff --git a/leankeykeyboard/src/main/java/com/liskovsoft/other/SettingsActivity.java b/leankeykeyboard/src/main/java/com/liskovsoft/other/GenericLaunchActivity.java similarity index 81% rename from leankeykeyboard/src/main/java/com/liskovsoft/other/SettingsActivity.java rename to leankeykeyboard/src/main/java/com/liskovsoft/other/GenericLaunchActivity.java index 827ee71..6d95e78 100644 --- a/leankeykeyboard/src/main/java/com/liskovsoft/other/SettingsActivity.java +++ b/leankeykeyboard/src/main/java/com/liskovsoft/other/GenericLaunchActivity.java @@ -15,8 +15,10 @@ import android.content.pm.ActivityInfo; import android.content.Intent; import android.app.Activity; -public class SettingsActivity extends Activity +public class GenericLaunchActivity extends Activity { + private boolean isSecondLaunch = false; + @SuppressLint("WrongConstant") private void addIntentFlags(final Intent intent) { intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); @@ -43,13 +45,16 @@ public class SettingsActivity extends Activity } private Intent makeIntent(final ActivityInfo activityInfo) { + String metaPackage = isSecondLaunch ? "package_alt" : "package"; + String metaClass = isSecondLaunch ? "class_alt" : "class"; + final Bundle metaData = activityInfo.metaData; final Intent intent = new Intent(); if (metaData.getString("intent") != null) { intent.setAction(metaData.getString("intent")); - return intent; + } else { + intent.setComponent(new ComponentName(metaData.getString(metaPackage), metaData.getString(metaClass))); } - intent.setComponent(new ComponentName(metaData.getString("package"), metaData.getString("class"))); return intent; } @@ -65,6 +70,12 @@ public class SettingsActivity extends Activity startActivity(intent); } catch (ActivityNotFoundException ex) { + if (!isSecondLaunch) { + isSecondLaunch = true; + launchApp(); + return; + } + ex.printStackTrace(); makeLongToast(ex.getLocalizedMessage(), 10); }