OSDN Git Service

Disable activity animations in more instances
authorBraden Farmer <farmerbb@gmail.com>
Sat, 11 Aug 2018 01:06:55 +0000 (19:06 -0600)
committerBraden Farmer <farmerbb@gmail.com>
Sat, 11 Aug 2018 01:06:55 +0000 (19:06 -0600)
app/src/main/java/com/farmerbb/taskbar/activity/ContextMenuActivity.java
app/src/main/java/com/farmerbb/taskbar/activity/DashboardActivity.java
app/src/main/java/com/farmerbb/taskbar/activity/DummyActivity.java
app/src/main/java/com/farmerbb/taskbar/activity/HomeActivity.java
app/src/main/java/com/farmerbb/taskbar/activity/KeyboardShortcutActivity.java
app/src/main/java/com/farmerbb/taskbar/activity/MainActivity.java
app/src/main/java/com/farmerbb/taskbar/activity/ShortcutActivity.java
app/src/main/java/com/farmerbb/taskbar/fragment/FreeformModeFragment.java
app/src/main/java/com/farmerbb/taskbar/fragment/SettingsFragment.java
app/src/main/java/com/farmerbb/taskbar/util/U.java

index a05d7a1..a9b478f 100644 (file)
@@ -718,7 +718,7 @@ public class ContextMenuActivity extends PreferenceActivity implements Preferenc
                 U.cancelToast();
         } else {
             if(contextMenuFix && !showStartMenu)
-                U.startFreeformHack(this, false, false);
+                U.startFreeformHack(this);
 
             super.onBackPressed();
             if(FreeformHackHelper.getInstance().isInFreeformWorkspace())
index 3e6b0a1..39131d8 100644 (file)
@@ -111,7 +111,7 @@ public class DashboardActivity extends Activity {
             shouldCollapse = false;
 
             if(contextMenuFix)
-                U.startFreeformHack(DashboardActivity.this, false, false);
+                U.startFreeformHack(DashboardActivity.this);
 
             finish();
         }
@@ -151,7 +151,7 @@ public class DashboardActivity extends Activity {
     @Override
     public void onBackPressed() {
         if(contextMenuFix)
-            U.startFreeformHack(this, false, false);
+            U.startFreeformHack(this);
 
         LocalBroadcastManager.getInstance(this).sendBroadcast(new Intent("com.farmerbb.taskbar.HIDE_DASHBOARD"));
     }
index 7ace9b8..6618878 100644 (file)
@@ -117,7 +117,7 @@ public class DummyActivity extends Activity {
                         && pref.getBoolean("freeform_hack", false)
                         && isInMultiWindowMode()
                         && !FreeformHackHelper.getInstance().isFreeformHackActive()) {
-                    U.startFreeformHack(this, false, false);
+                    U.startFreeformHack(this);
                 }
 
                 finish();
index cb387ea..6b1f9fe 100644 (file)
@@ -317,7 +317,7 @@ public class HomeActivity extends Activity {
         if(shouldDelayFreeformHack)
             hits++;
         else
-            U.startFreeformHack(this, false, false);
+            U.startFreeformHack(this);
     }
 
     @Override
index bf59ae0..888aa23 100644 (file)
@@ -51,7 +51,7 @@ public class KeyboardShortcutActivity extends Activity {
                             && pref.getBoolean("freeform_hack", false)
                             && isInMultiWindowMode()
                             && !FreeformHackHelper.getInstance().isFreeformHackActive()) {
-                        U.startFreeformHack(this, false, false);
+                        U.startFreeformHack(this);
                     }
 
                     Intent startStopIntent;
index 97a7b07..12fc86c 100644 (file)
@@ -312,7 +312,7 @@ public class MainActivity extends AppCompatActivity {
                 && pref.getBoolean("freeform_hack", false)
                 && isInMultiWindowMode()
                 && !FreeformHackHelper.getInstance().isFreeformHackActive()) {
-            U.startFreeformHack(this, false, false);
+            U.startFreeformHack(this);
         }
 
         startService(new Intent(this, TaskbarService.class));
index f41466b..7e67311 100644 (file)
@@ -47,7 +47,7 @@ public class ShortcutActivity extends Activity {
                 intent.setPackage(BuildConfig.APPLICATION_ID);
                 sendBroadcast(intent);
 
-                new Handler().postDelayed(() -> U.startFreeformHack(this, true, false), 100);
+                new Handler().postDelayed(() -> U.startFreeformHack(this, true), 100);
             } else
                 U.showToastLong(this, R.string.no_freeform_support);
         } else
index 40ec764..45ffd0f 100644 (file)
@@ -182,7 +182,7 @@ public class FreeformModeFragment extends SettingsFragment implements Preference
                     if(pref.getBoolean("taskbar_active", false)
                             && getActivity().isInMultiWindowMode()
                             && !FreeformHackHelper.getInstance().isFreeformHackActive()) {
-                        U.startFreeformHack(getActivity(), false, false);
+                        U.startFreeformHack(getActivity());
                     }
                 } else {
                     U.stopFreeformHack(getActivity());
index aa38d4f..0407844 100644 (file)
@@ -98,7 +98,7 @@ public abstract class SettingsFragment extends PreferenceFragment {
 
                         SharedPreferences pref = U.getSharedPreferences(getActivity());
                         if(pref.getBoolean("taskbar_active", false) && !pref.getBoolean("is_hidden", false))
-                            new Handler().post(() -> U.startFreeformHack(getActivity(), false, false));
+                            new Handler().post(() -> U.startFreeformHack(getActivity()));
                         break;
                 }
 
index 99858ab..fc66841 100644 (file)
@@ -175,11 +175,8 @@ public class U {
             launchApp(context, () -> {
                 Intent intent = new Intent(context, DummyActivity.class);
                 intent.putExtra("device_admin", true);
-                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION);
                 context.startActivity(intent, getActivityOptionsBundle(context, ApplicationType.APPLICATION));
-
-                if(context instanceof Activity)
-                    ((Activity) context).overridePendingTransition(0, 0);
             });
         }
     }
@@ -197,11 +194,8 @@ public class U {
             launchApp(context, () -> {
                 Intent intent = new Intent(context, DummyActivity.class);
                 intent.putExtra("accessibility", true);
-                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION);
                 context.startActivity(intent, getActivityOptionsBundle(context, ApplicationType.APPLICATION));
-
-                if(context instanceof Activity)
-                    ((Activity) context).overridePendingTransition(0, 0);
             });
         }
     }
@@ -272,7 +266,7 @@ public class U {
                                   final boolean openInNewWindow,
                                   final ShortcutInfo shortcut) {
         launchApp(context, launchedFromTaskbar, () -> continueLaunchingApp(context, packageName, componentName, userId,
-                windowSize, launchedFromTaskbar, openInNewWindow, shortcut));
+                windowSize, openInNewWindow, shortcut));
     }
 
     public static void launchApp(Context context, Runnable runnable) {
@@ -291,7 +285,7 @@ public class U {
                 && pref.getBoolean("freeform_hack", false)
                 && (!helper.isInFreeformWorkspace() || specialLaunch)) {
             new Handler().postDelayed(() -> {
-                startFreeformHack(context, true, launchedFromTaskbar);
+                startFreeformHack(context, true);
 
                 new Handler().postDelayed(runnable, helper.isFreeformHackActive() ? 0 : 100);
             }, launchedFromTaskbar ? 0 : 100);
@@ -299,21 +293,20 @@ public class U {
             runnable.run();
     }
 
-    @SuppressWarnings("deprecation")
+    public static void startFreeformHack(Context context) {
+        startFreeformHack(context, false);
+    }
+
     @TargetApi(Build.VERSION_CODES.N)
-    public static void startFreeformHack(Context context, boolean checkMultiWindow, boolean launchedFromTaskbar) {
+    public static void startFreeformHack(Context context, boolean checkMultiWindow) {
         Intent freeformHackIntent = new Intent(context, InvisibleActivityFreeform.class);
-        freeformHackIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT);
+        freeformHackIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
+                | Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT
+                | Intent.FLAG_ACTIVITY_NO_ANIMATION);
 
         if(checkMultiWindow)
             freeformHackIntent.putExtra("check_multiwindow", true);
 
-        if(launchedFromTaskbar) {
-            SharedPreferences pref = getSharedPreferences(context);
-            if(pref.getBoolean("disable_animations", false))
-                freeformHackIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
-        }
-
         if(canDrawOverlays(context))
             startActivityLowerRight(context, freeformHackIntent);
     }
@@ -334,7 +327,6 @@ public class U {
                                              String componentName,
                                              long userId,
                                              String windowSize,
-                                             boolean launchedFromTaskbar,
                                              boolean openInNewWindow,
                                              ShortcutInfo shortcut) {
         SharedPreferences pref = getSharedPreferences(context);
@@ -349,10 +341,8 @@ public class U {
                 && Build.VERSION.SDK_INT <= Build.VERSION_CODES.N_MR1)
             intent.addFlags(Intent.FLAG_ACTIVITY_TASK_ON_HOME);
 
-        if(launchedFromTaskbar) {
-            if(pref.getBoolean("disable_animations", false))
-                intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
-        }
+        if(pref.getBoolean("disable_animations", false))
+            intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
 
         if(openInNewWindow || pref.getBoolean("force_new_window", false)) {
             intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);