summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/Launcher.java
diff options
context:
space:
mode:
authorBrint E. Kriebel <bekit@cyngn.com>2014-08-25 11:23:39 -0700
committerBrint E. Kriebel <bekit@cyngn.com>2014-08-25 11:23:39 -0700
commitc780ac1d535c3233b1d69471030759ed4f5e5a32 (patch)
treea355d1667125feb473208e23858099b3050cab90 /src/com/android/launcher3/Launcher.java
parent43ae18f573bfa2234ac6e148806bd6c07b2d68fe (diff)
parent46b0ef9a1a9aaba3c7ff764b2314ba0986dc9fc3 (diff)
downloadandroid_packages_apps_Trebuchet-c780ac1d535c3233b1d69471030759ed4f5e5a32.tar.gz
android_packages_apps_Trebuchet-c780ac1d535c3233b1d69471030759ed4f5e5a32.tar.bz2
android_packages_apps_Trebuchet-c780ac1d535c3233b1d69471030759ed4f5e5a32.zip
Merge branch 'cm-11.0' into stable/cm-11.0
Change-Id: Ic9b8a3947f66de030093181e8586c606dcdc0699
Diffstat (limited to 'src/com/android/launcher3/Launcher.java')
-rw-r--r--src/com/android/launcher3/Launcher.java64
1 files changed, 58 insertions, 6 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index fbb3189f9..01e3fc584 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -66,6 +66,7 @@ import android.os.Handler;
import android.os.Message;
import android.os.StrictMode;
import android.os.SystemClock;
+import android.provider.Settings;
import android.speech.RecognizerIntent;
import android.text.Selection;
import android.text.SpannableStringBuilder;
@@ -403,6 +404,12 @@ public class Launcher extends Activity
}
}
+ public static float sAnimatorDurationScale = 1f;
+
+ public static boolean isAnimatorScaleSafe() {
+ return sAnimatorDurationScale >= 1f;
+ }
+
private CustomContentMode mCustomContentMode = CustomContentMode.CUSTOM_HOME;
// Preferences
@@ -457,6 +464,38 @@ public class Launcher extends Activity
}
};
+ private class AnimatorScaleObserver extends ContentObserver {
+
+ /**
+ * Creates a content observer.
+ *
+ * @param handler The handler to run {@link #onChange} on, or null if none.
+ */
+ public AnimatorScaleObserver(Handler handler) {
+ super(handler);
+ }
+
+ @Override
+ public void onChange(boolean selfChange) {
+ onChange(selfChange, null);
+ }
+
+ @Override
+ public void onChange(boolean selfChange, Uri uri) {
+ try {
+ Float curAnimationDurationScale = Settings.Global.getFloat(getContentResolver(),
+ Settings.Global.ANIMATOR_DURATION_SCALE);
+ if (curAnimationDurationScale != sAnimatorDurationScale) {
+ // the Animator Duration scale has changed, restart the Launcher to respect
+ // these changes
+ android.os.Process.killProcess(android.os.Process.myPid());
+ }
+ } catch (Settings.SettingNotFoundException e) {
+ sAnimatorDurationScale = 1f;
+ }
+ }
+ }
+
@Override
protected void onCreate(Bundle savedInstanceState) {
if (DEBUG_STRICT_MODE) {
@@ -564,6 +603,16 @@ public class Launcher extends Activity
"cyanogenmod.intent.action.PROTECTED_COMPONENT_UPDATE");
registerReceiver(protectedAppsChangedReceiver, protectedAppsFilter,
"cyanogenmod.permission.PROTECTED_APP", null);
+
+ try {
+ sAnimatorDurationScale = Settings.Global.getFloat(getContentResolver(),
+ Settings.Global.ANIMATOR_DURATION_SCALE);
+ } catch (Settings.SettingNotFoundException e) {
+ sAnimatorDurationScale = 1f;
+ }
+
+ AnimatorScaleObserver obs = new AnimatorScaleObserver(new Handler());
+ getContentResolver().registerContentObserver(Settings.Global.CONTENT_URI, true, obs);
}
public void restoreCustomContentMode() {
@@ -1108,10 +1157,6 @@ public class Launcher extends Activity
updateGridIfNeeded();
- if(isCustomContentModeGel() && isGelIntegrationSupported()) {
- GelIntegrationHelper.getInstance().handleGelResume();
- }
-
// Restore the previous launcher state
if (mOnResumeState == State.WORKSPACE) {
showWorkspace(false);
@@ -3720,6 +3765,7 @@ public class Launcher extends Activity
if (resetPageToZero) {
mAppsCustomizeLayout.reset();
}
+ mAppsCustomizeContent.sortApps();
showAppsCustomizeHelper(animated, false, contentType);
mAppsCustomizeLayout.requestFocus();
@@ -4498,6 +4544,8 @@ public class Launcher extends Activity
mWorkspace.getUniqueComponents(true, null);
mIntentsOnWorkspaceFromUpgradePath = mWorkspace.getUniqueComponents(true, null);
}
+
+ mWorkspace.stripEmptyScreens();
}
private boolean canRunNewAppsAnimation() {
@@ -4977,6 +5025,10 @@ public class Launcher extends Activity
}
public void updateDynamicGrid() {
+ updateDynamicGrid(mWorkspace.getRestorePage());
+ }
+
+ public void updateDynamicGrid(int page) {
mSearchDropTargetBar.setupQSB(Launcher.this);
initializeDynamicGrid();
@@ -4984,7 +5036,7 @@ public class Launcher extends Activity
mGrid.layout(Launcher.this);
// Synchronized reload
- mModel.startLoader(true, mWorkspace.getCurrentPage());
+ mModel.startLoader(true, page);
mWorkspace.updateCustomContentVisibility();
}
@@ -4995,7 +5047,7 @@ public class Launcher extends Activity
public boolean updateGridIfNeeded() {
if (mDynamicGridUpdateRequired) {
- updateDynamicGrid();
+ updateDynamicGrid(mWorkspace.getCurrentPage());
mDynamicGridUpdateRequired = false;
return true;
}