case "window_size_half_left":
case "window_size_half_right":
case "window_size_phone_size":
+ String windowSize = p.getKey().replace("window_size_", "");
+
SharedPreferences pref2 = U.getSharedPreferences(this);
if(pref2.getBoolean("save_window_sizes", true)) {
- SavedWindowSizes.getInstance(this).setWindowSize(this, packageName, p.getKey().replace("window_size_", ""));
+ SavedWindowSizes.getInstance(this).setWindowSize(this, packageName, windowSize);
}
startFreeformActivity();
- U.launchApp(this, packageName, componentName, false, !isInMultiWindowMode(), true);
+ U.launchApp(this, packageName, componentName, windowSize, false, !isInMultiWindowMode(), true);
showStartMenu = false;
shouldHideTaskbar = true;
public static void launchApp(final Context context,
final String packageName,
final String componentName,
+ final String windowSize,
final boolean launchedFromTaskbar,
final boolean padStatusBar,
final boolean openInNewWindow) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
- continueLaunchingApp(context, packageName, componentName, launchedFromTaskbar, padStatusBar, openInNewWindow);
+ continueLaunchingApp(context, packageName, componentName, windowSize,
+ launchedFromTaskbar, padStatusBar, openInNewWindow);
}
}, 100);
}
if(!FreeformHackHelper.getInstance().isFreeformHackActive()) {
if(!shouldDelay)
- continueLaunchingApp(context, packageName, componentName, launchedFromTaskbar, padStatusBar, openInNewWindow);
+ continueLaunchingApp(context, packageName, componentName, windowSize,
+ launchedFromTaskbar, padStatusBar, openInNewWindow);
} else if(FreeformHackHelper.getInstance().isInFreeformWorkspace() || !openInFullscreen)
- continueLaunchingApp(context, packageName, componentName, launchedFromTaskbar, padStatusBar, openInNewWindow);
+ continueLaunchingApp(context, packageName, componentName, windowSize,
+ launchedFromTaskbar, padStatusBar, openInNewWindow);
}
@SuppressWarnings("deprecation")
private static void continueLaunchingApp(Context context,
String packageName,
String componentName,
+ String windowSize,
boolean launchedFromTaskbar,
boolean padStatusBar,
boolean openInNewWindow) {
}
}
+ if(windowSize == null) {
+ if(pref.getBoolean("save_window_sizes", true))
+ windowSize = SavedWindowSizes.getInstance(context).getWindowSize(context, packageName);
+ else
+ windowSize = pref.getString("window_size", "standard");
+ }
+
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.N || !pref.getBoolean("freeform_hack", false)) {
try {
context.startActivity(intent);
} catch (ActivityNotFoundException | IllegalArgumentException e) { /* Gracefully fail */ }
- } else switch(SavedWindowSizes.getInstance(context).getWindowSize(context, packageName)) {
+ } else switch(windowSize) {
case "standard":
if(FreeformHackHelper.getInstance().isInFreeformWorkspace())
try {