diff --git a/res/values/strings.xml b/res/values/strings.xml
index f5854b4a98c..9c314c3165e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5173,6 +5173,11 @@
Makes any app elligible to be written to external storage, regardless of manifest values
+
+ Force activities to be resizable
+
+ Makes all activities resizable for multi-window, regardless of manifest values.
+
Data usage
diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml
index e2e7b26539b..8417e48ccdf 100644
--- a/res/xml/development_prefs.xml
+++ b/res/xml/development_prefs.xml
@@ -348,6 +348,10 @@
android:title="@string/force_allow_on_external"
android:summary="@string/force_allow_on_external_summary"/>
+
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index 80de567cf9f..173a51ade15 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -55,6 +55,7 @@ import android.os.SystemProperties;
import android.os.UserManager;
import android.provider.SearchIndexableResource;
import android.provider.Settings;
+import android.provider.Settings.Global;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.ListPreference;
import android.support.v7.preference.Preference;
@@ -157,6 +158,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
private static final String WIFI_LEGACY_DHCP_CLIENT_KEY = "legacy_dhcp_client";
private static final String MOBILE_DATA_ALWAYS_ON = "mobile_data_always_on";
private static final String KEY_COLOR_MODE = "color_mode";
+ private static final String FORCE_RESIZABLE_KEY = "force_resizable_activities";
private static final String INACTIVE_APPS_KEY = "inactive_apps";
@@ -259,6 +261,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
private ColorModePreference mColorModePreference;
+ private SwitchPreference mForceResizable;
+
private final ArrayList mAllPrefs = new ArrayList();
private final ArrayList mResetSwitchPrefs
@@ -383,6 +387,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
mOpenGLTraces = addListPreference(OPENGL_TRACES_KEY);
mSimulateColorSpace = addListPreference(SIMULATE_COLOR_SPACE);
mUSBAudio = findAndInitSwitchPref(USB_AUDIO_KEY);
+ mForceResizable = findAndInitSwitchPref(FORCE_RESIZABLE_KEY);
mImmediatelyDestroyActivities = (SwitchPreference) findPreference(
IMMEDIATELY_DESTROY_ACTIVITIES_KEY);
@@ -636,6 +641,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
updateMobileDataAlwaysOnOptions();
updateSimulateColorSpace();
updateUSBAudioOptions();
+ updateForceResizableOptions();
}
private void resetDangerousOptions() {
@@ -1182,6 +1188,18 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
mUSBAudio.isChecked() ? 1 : 0);
}
+ private void updateForceResizableOptions() {
+ updateSwitchPreference(mForceResizable, Settings.Global.getInt(getContentResolver(),
+ Settings.Global.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES,
+ Build.IS_DEBUGGABLE ? 1 : 0) != 0);
+ }
+
+ private void writeForceResizableOptions() {
+ Settings.Global.putInt(getContentResolver(),
+ Settings.Global.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES,
+ mForceResizable.isChecked() ? 1 : 0);
+ }
+
private void updateForceRtlOptions() {
updateSwitchPreference(mForceRtlLayout,
Settings.Global.getInt(getActivity().getContentResolver(),
@@ -1686,6 +1704,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
writeMobileDataAlwaysOnOptions();
} else if (preference == mUSBAudio) {
writeUSBAudioOptions();
+ } else if (preference == mForceResizable) {
+ writeForceResizableOptions();
} else if (INACTIVE_APPS_KEY.equals(preference.getKey())) {
startInactiveAppsFragment();
} else {