summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2017-05-09 12:40:11 -0700
committerSunny Goyal <sunnygoyal@google.com>2017-05-09 12:41:50 -0700
commit60820d796f5789ac0d1d478f1d3c8e403fd0a56f (patch)
treec814235577092af480a383e82c09d43035642ff1 /src
parent161f96bc77805ed87f831b68e51fad61a23153bc (diff)
downloadandroid_packages_apps_Trebuchet-60820d796f5789ac0d1d478f1d3c8e403fd0a56f.tar.gz
android_packages_apps_Trebuchet-60820d796f5789ac0d1d478f1d3c8e403fd0a56f.tar.bz2
android_packages_apps_Trebuchet-60820d796f5789ac0d1d478f1d3c8e403fd0a56f.zip
Adding listener support for color extraction changes
Changing the apps-search layout to use theme attribute instead of hard coded layout id Bug: 37616877 Change-Id: Iae601758303f83a2774635f0d88f74d99fc643c3
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/Launcher.java13
-rw-r--r--src/com/android/launcher3/LauncherCallbacks.java2
-rw-r--r--src/com/android/launcher3/allapps/AllAppsTransitionController.java4
-rw-r--r--src/com/android/launcher3/allapps/AlphabeticalAppsList.java12
-rw-r--r--src/com/android/launcher3/dynamicui/ExtractedColors.java20
-rw-r--r--src/com/android/launcher3/testing/LauncherExtension.java3
6 files changed, 37 insertions, 17 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index c96c2a7b9..25995dd1a 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -212,6 +212,8 @@ public class Launcher extends BaseActivity
private static int NEW_APPS_ANIMATION_INACTIVE_TIMEOUT_SECONDS = 5;
@Thunk static int NEW_APPS_ANIMATION_DELAY = 500;
+ private final ExtractedColors mExtractedColors = new ExtractedColors();
+
@Thunk Workspace mWorkspace;
private View mLauncherView;
@Thunk DragLayer mDragLayer;
@@ -260,7 +262,6 @@ public class Launcher extends BaseActivity
private LauncherModel mModel;
private ModelWriter mModelWriter;
private IconCache mIconCache;
- private ExtractedColors mExtractedColors;
private LauncherAccessibilityDelegate mAccessibilityDelegate;
private Handler mHandler = new Handler();
private boolean mIsResumeFromActionScreenOff;
@@ -392,11 +393,10 @@ public class Launcher extends BaseActivity
// LauncherModel load.
mPaused = false;
- mLauncherView = getLayoutInflater().inflate(R.layout.launcher, null);
+ mLauncherView = LayoutInflater.from(this).inflate(R.layout.launcher, null);
setupViews();
mDeviceProfile.layout(this, false /* notifyListeners */);
- mExtractedColors = new ExtractedColors();
loadExtractedColorsAndColorItems();
mPopupDataProvider = new PopupDataProvider(this);
@@ -465,12 +465,7 @@ public class Launcher extends BaseActivity
@Override
public void onExtractedColorsChanged() {
loadExtractedColorsAndColorItems();
- if (mAllAppsController != null) {
- mAllAppsController.onExtractedColorsChanged();
- }
- if (mLauncherCallbacks != null) {
- mLauncherCallbacks.onExtractedColorsChanged();
- }
+ mExtractedColors.notifyChange();
}
public ExtractedColors getExtractedColors() {
diff --git a/src/com/android/launcher3/LauncherCallbacks.java b/src/com/android/launcher3/LauncherCallbacks.java
index ea4aeb929..d66b14c7d 100644
--- a/src/com/android/launcher3/LauncherCallbacks.java
+++ b/src/com/android/launcher3/LauncherCallbacks.java
@@ -97,6 +97,4 @@ public interface LauncherCallbacks {
int getSearchBarHeight();
boolean shouldShowDiscoveryBounce();
-
- void onExtractedColorsChanged();
}
diff --git a/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
index 121ce4ce1..9c1854a36 100644
--- a/src/com/android/launcher3/allapps/AllAppsTransitionController.java
+++ b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
@@ -42,7 +42,7 @@ import com.android.launcher3.util.TouchController;
* closer to top or closer to the page indicator.
*/
public class AllAppsTransitionController implements TouchController, VerticalPullDetector.Listener,
- View.OnLayoutChangeListener {
+ View.OnLayoutChangeListener, ExtractedColors.OnChangeListener {
private static final String TAG = "AllAppsTrans";
private static final boolean DBG = false;
@@ -107,6 +107,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
mEvaluator = new ArgbEvaluator();
mAllAppsBackgroundColor = Themes.getAttrColor(l, android.R.attr.colorPrimary);
+ mLauncher.getExtractedColors().addOnChangeListener(this);
}
@Override
@@ -288,6 +289,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
mScrimView.setProgress(progress);
}
+ @Override
public void onExtractedColorsChanged() {
if (FeatureFlags.LAUNCHER3_GRADIENT_ALL_APPS) {
if (mGradientView != null) {
diff --git a/src/com/android/launcher3/allapps/AlphabeticalAppsList.java b/src/com/android/launcher3/allapps/AlphabeticalAppsList.java
index f291a80ee..047441985 100644
--- a/src/com/android/launcher3/allapps/AlphabeticalAppsList.java
+++ b/src/com/android/launcher3/allapps/AlphabeticalAppsList.java
@@ -195,6 +195,8 @@ public class AlphabeticalAppsList {
private int mNumPredictedAppsPerRow;
private int mNumAppRowsInAdapter;
+ private boolean mHasSearchDivider = true;
+
public AlphabeticalAppsList(Context context) {
mLauncher = Launcher.getLauncher(context);
mIndexer = new AlphabeticIndexCompat(context);
@@ -343,6 +345,10 @@ public class AlphabeticalAppsList {
onAppsUpdated();
}
+ public void disableSearchDivider() {
+ mHasSearchDivider = false;
+ }
+
/**
* Updates internals when the set of apps are updated.
*/
@@ -429,8 +435,10 @@ public class AlphabeticalAppsList {
}
}
- // Add the search divider
- mAdapterItems.add(AdapterItem.asSearchDivider(position++));
+ if (mHasSearchDivider) {
+ // Add the search divider
+ mAdapterItems.add(AdapterItem.asSearchDivider(position++));
+ }
// Process the predicted app components
mPredictedApps.clear();
diff --git a/src/com/android/launcher3/dynamicui/ExtractedColors.java b/src/com/android/launcher3/dynamicui/ExtractedColors.java
index 3c4aba130..108a21f40 100644
--- a/src/com/android/launcher3/dynamicui/ExtractedColors.java
+++ b/src/com/android/launcher3/dynamicui/ExtractedColors.java
@@ -26,6 +26,7 @@ import android.util.Log;
import com.android.launcher3.Utilities;
import com.android.launcher3.config.FeatureFlags;
+import java.util.ArrayList;
import java.util.Arrays;
/**
@@ -80,6 +81,7 @@ public class ExtractedColors {
private static final String COLOR_SEPARATOR = ",";
+ private final ArrayList<OnChangeListener> mListeners = new ArrayList<>();
private final int[] mColors;
public ExtractedColors() {
@@ -171,4 +173,22 @@ public class ExtractedColors {
setColorAtIndex(idx, wallpaperPalette == null
? DEFAULT_VALUES[idx] : wallpaperPalette.getVibrantColor(DEFAULT_VALUES[idx]));
}
+
+ public void addOnChangeListener(OnChangeListener listener) {
+ mListeners.add(listener);
+ }
+
+ public void notifyChange() {
+ for (OnChangeListener listener : mListeners) {
+ listener.onExtractedColorsChanged();
+ }
+ }
+
+ /**
+ * Interface for listening for extracted color changes
+ */
+ public interface OnChangeListener {
+
+ void onExtractedColorsChanged();
+ }
}
diff --git a/src/com/android/launcher3/testing/LauncherExtension.java b/src/com/android/launcher3/testing/LauncherExtension.java
index 36df22cd5..8d4351884 100644
--- a/src/com/android/launcher3/testing/LauncherExtension.java
+++ b/src/com/android/launcher3/testing/LauncherExtension.java
@@ -219,8 +219,5 @@ public class LauncherExtension extends Launcher {
public boolean shouldShowDiscoveryBounce() {
return false;
}
-
- @Override
- public void onExtractedColorsChanged() { }
}
}