Merge "Merge commit 'refs/changes/42/2374342/1' of sso://googleplex-android/platform/packages/apps/Launcher3" into ub-launcher3-master
diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java
index ffda67c..d48b9ab 100644
--- a/src/com/android/launcher3/Utilities.java
+++ b/src/com/android/launcher3/Utilities.java
@@ -551,6 +551,11 @@
LauncherFiles.SHARED_PREFERENCES_KEY, Context.MODE_PRIVATE);
}
+ public static SharedPreferences getDevicePrefs(Context context) {
+ return context.getSharedPreferences(
+ LauncherFiles.DEVICE_PREFERENCES_KEY, Context.MODE_PRIVATE);
+ }
+
public static boolean isPowerSaverOn(Context context) {
PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
return powerManager.isPowerSaveMode();
diff --git a/src/com/android/launcher3/compat/WallpaperManagerCompatVL.java b/src/com/android/launcher3/compat/WallpaperManagerCompatVL.java
index 3431664..d61b564 100644
--- a/src/com/android/launcher3/compat/WallpaperManagerCompatVL.java
+++ b/src/com/android/launcher3/compat/WallpaperManagerCompatVL.java
@@ -17,6 +17,8 @@
import static android.app.WallpaperManager.FLAG_SYSTEM;
+import static com.android.launcher3.Utilities.getDevicePrefs;
+
import android.app.IntentService;
import android.app.WallpaperInfo;
import android.app.WallpaperManager;
@@ -24,7 +26,6 @@
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.BitmapRegionDecoder;
@@ -41,7 +42,6 @@
import android.util.Pair;
import android.util.SparseIntArray;
-import com.android.launcher3.LauncherFiles;
import com.android.launcher3.Utilities;
import java.io.IOException;
@@ -63,7 +63,7 @@
WallpaperManagerCompatVL(Context context) {
mContext = context;
- String colors = prefs(mContext).getString(KEY_COLORS, "");
+ String colors = getDevicePrefs(mContext).getString(KEY_COLORS, "");
int wallpaperId = -1;
if (colors.startsWith(VERSION_PREFIX)) {
Pair<Integer, WallpaperColorsCompat> storedValue = parseValue(colors);
@@ -106,18 +106,13 @@
}
private void handleResult(String result) {
- prefs(mContext).edit().putString(KEY_COLORS, result).apply();
+ getDevicePrefs(mContext).edit().putString(KEY_COLORS, result).apply();
mColorsCompat = parseValue(result).second;
for (OnColorsChangedListenerCompat listener : mListeners) {
listener.onColorsChanged(mColorsCompat, FLAG_SYSTEM);
}
}
- private static SharedPreferences prefs(Context context) {
- return context.getSharedPreferences(
- LauncherFiles.DEVICE_PREFERENCES_KEY, Context.MODE_PRIVATE);
- }
-
private static final int getWallpaperId(Context context) {
if (!Utilities.ATLEAST_NOUGAT) {
return -1;
diff --git a/src/com/android/launcher3/dragndrop/DragLayer.java b/src/com/android/launcher3/dragndrop/DragLayer.java
index ed81f90..be5f01a 100644
--- a/src/com/android/launcher3/dragndrop/DragLayer.java
+++ b/src/com/android/launcher3/dragndrop/DragLayer.java
@@ -27,6 +27,7 @@
import android.graphics.Color;
import android.graphics.Rect;
import android.graphics.Region;
+import android.support.v4.graphics.ColorUtils;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.LayoutInflater;
@@ -54,6 +55,7 @@
import com.android.launcher3.Utilities;
import com.android.launcher3.allapps.AllAppsTransitionController;
import com.android.launcher3.config.FeatureFlags;
+import com.android.launcher3.dynamicui.WallpaperColorInfo;
import com.android.launcher3.folder.Folder;
import com.android.launcher3.folder.FolderIcon;
import com.android.launcher3.keyboard.ViewGroupFocusHelper;
@@ -73,9 +75,6 @@
public static final int ANIMATION_END_DISAPPEAR = 0;
public static final int ANIMATION_END_REMAIN_VISIBLE = 2;
- // Scrim color without any alpha component.
- private static final int SCRIM_COLOR = Color.BLACK & 0x00FFFFFF;
-
private final int[] mTmpXY = new int[2];
@Thunk DragController mDragController;
@@ -108,6 +107,7 @@
// Related to adjacent page hints
private final Rect mScrollChildPosition = new Rect();
private final ViewGroupFocusHelper mFocusIndicatorHelper;
+ private final WallpaperColorInfo mWallpaperColorInfo;
// Related to pinch-to-go-to-overview gesture.
private PinchToOverviewListener mPinchListener = null;
@@ -131,6 +131,7 @@
mIsRtl = Utilities.isRtl(getResources());
mFocusIndicatorHelper = new ViewGroupFocusHelper(this);
+ mWallpaperColorInfo = WallpaperColorInfo.getInstance(getContext());
}
public void setup(Launcher launcher, DragController dragController,
@@ -878,7 +879,10 @@
getDescendantRectRelativeToSelf(currCellLayout, mHighlightRect);
canvas.clipRect(mHighlightRect, Region.Op.DIFFERENCE);
}
- canvas.drawColor((alpha << 24) | SCRIM_COLOR);
+ // for super light wallpaper it needs to be darken for contrast to workspace
+ // for dark wallpapers the text is white so darkening works as well
+ int color = ColorUtils.compositeColors(0x66000000, mWallpaperColorInfo.getMainColor());
+ canvas.drawColor(ColorUtils.setAlphaComponent(color, alpha));
canvas.restore();
}
diff --git a/src/com/android/launcher3/graphics/IconShapeOverride.java b/src/com/android/launcher3/graphics/IconShapeOverride.java
index a0727fb..e2d1d50 100644
--- a/src/com/android/launcher3/graphics/IconShapeOverride.java
+++ b/src/com/android/launcher3/graphics/IconShapeOverride.java
@@ -15,13 +15,14 @@
*/
package com.android.launcher3.graphics;
+import static com.android.launcher3.Utilities.getDevicePrefs;
+
import android.annotation.TargetApi;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
-import android.content.SharedPreferences;
import android.content.res.Resources;
import android.os.Build;
import android.os.SystemClock;
@@ -34,7 +35,6 @@
import android.util.Log;
import com.android.launcher3.LauncherAppState;
-import com.android.launcher3.LauncherFiles;
import com.android.launcher3.LauncherModel;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
@@ -101,7 +101,7 @@
} catch (Exception e) {
Log.e(TAG, "Unable to override icon shape", e);
// revert value.
- prefs(context).edit().remove(KEY_PREFERENCE).apply();
+ getDevicePrefs(context).edit().remove(KEY_PREFERENCE).apply();
}
}
@@ -116,11 +116,7 @@
}
private static String getAppliedValue(Context context) {
- return prefs(context).getString(KEY_PREFERENCE, "");
- }
-
- private static SharedPreferences prefs(Context context) {
- return context.getSharedPreferences(LauncherFiles.DEVICE_PREFERENCES_KEY, 0);
+ return getDevicePrefs(context).getString(KEY_PREFERENCE, "");
}
public static void handlePreferenceUi(ListPreference preference) {
@@ -189,7 +185,7 @@
@Override
public void run() {
// Synchronously write the preference.
- prefs(mContext).edit().putString(KEY_PREFERENCE, mValue).commit();
+ getDevicePrefs(mContext).edit().putString(KEY_PREFERENCE, mValue).commit();
// Clear the icon cache.
LauncherAppState.getInstance(mContext).getIconCache().clear();
diff --git a/src/com/android/launcher3/provider/ImportDataTask.java b/src/com/android/launcher3/provider/ImportDataTask.java
index 3e4cd01..314f244 100644
--- a/src/com/android/launcher3/provider/ImportDataTask.java
+++ b/src/com/android/launcher3/provider/ImportDataTask.java
@@ -16,6 +16,8 @@
package com.android.launcher3.provider;
+import static com.android.launcher3.Utilities.getDevicePrefs;
+
import android.content.ContentProviderOperation;
import android.content.ContentValues;
import android.content.Context;
@@ -36,7 +38,6 @@
import com.android.launcher3.DefaultLayoutParser;
import com.android.launcher3.LauncherAppState;
import com.android.launcher3.LauncherAppWidgetInfo;
-import com.android.launcher3.LauncherFiles;
import com.android.launcher3.LauncherProvider;
import com.android.launcher3.LauncherSettings;
import com.android.launcher3.LauncherSettings.Favorites;
@@ -377,10 +378,6 @@
return false;
}
- private static SharedPreferences getDevicePrefs(Context c) {
- return c.getSharedPreferences(LauncherFiles.DEVICE_PREFERENCES_KEY, Context.MODE_PRIVATE);
- }
-
private static final int getMyHotseatLayoutId(Context context) {
return LauncherAppState.getIDP(context).numHotseatIcons <= 5
? R.xml.dw_phone_hotseat