OSDN Git Service

Improvements for setting default home app
authorBraden Farmer <farmerbb@gmail.com>
Sat, 21 Mar 2020 20:06:44 +0000 (14:06 -0600)
committerBraden Farmer <farmerbb@gmail.com>
Sat, 21 Mar 2020 20:06:44 +0000 (14:06 -0600)
app/src/main/java/com/farmerbb/taskbar/activity/HSLActivity.java
app/src/main/java/com/farmerbb/taskbar/fragment/DesktopModeFragment.java

index cf45dd9..2dd77ea 100644 (file)
@@ -24,9 +24,11 @@ import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.os.Bundle;
 import android.os.Handler;
+import android.provider.Settings;
 import android.widget.Toast;
 
 import com.farmerbb.taskbar.R;
+import com.farmerbb.taskbar.fragment.DesktopModeFragment;
 import com.farmerbb.taskbar.util.U;
 
 import java.util.List;
@@ -37,6 +39,17 @@ public class HSLActivity extends Activity {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
+        if(DesktopModeFragment.isConfiguringHomeApp) {
+            int enter = getResources().getIdentifier("activity_close_enter", "anim", "android");
+            int exit = getResources().getIdentifier("activity_close_exit", "anim", "android");
+
+            startActivity(new Intent(this, MainActivity.class));
+            overridePendingTransition(enter, exit);
+
+            finish();
+            return;
+        }
+
         SharedPreferences pref = U.getSharedPreferences(this);
         String activityToLaunch = pref.getString("hsl_id", "null");
 
index 969e51f..c1fe470 100644 (file)
@@ -37,6 +37,8 @@ import com.farmerbb.taskbar.util.U;
 
 public class DesktopModeFragment extends SettingsFragment {
 
+    public static boolean isConfiguringHomeApp;
+
     @Override
     public void onCreate(Bundle savedInstanceState) {
         finishedLoadingPrefs = false;
@@ -80,6 +82,7 @@ public class DesktopModeFragment extends SettingsFragment {
     @Override
     public void onResume() {
         super.onResume();
+        isConfiguringHomeApp = false;
 
         Preference primaryLauncherPref = findPreference("primary_launcher");
         if(primaryLauncherPref != null) {
@@ -124,6 +127,7 @@ public class DesktopModeFragment extends SettingsFragment {
             case "set_launcher_default":
                 try {
                     startActivity(new Intent(Settings.ACTION_HOME_SETTINGS));
+                    isConfiguringHomeApp = true;
                 } catch (ActivityNotFoundException e) {
                     U.showToastLong(getActivity(), R.string.tb_unable_to_set_default_home);
                 }