Merge "Pass component name into SuggestionFeatureProvider"
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
index a5a6d7a..7cb3753 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
@@ -16,7 +16,9 @@
package com.android.settings.dashboard.suggestions;
+import android.content.ComponentName;
import android.content.Context;
+import android.support.annotation.NonNull;
import com.android.settingslib.drawer.Tile;
import com.android.settingslib.suggestions.SuggestionParser;
@@ -31,11 +33,11 @@
*/
boolean isSmartSuggestionEnabled(Context context);
- /** Return true if className is the name of a class of one of your newly added suggestion. */
- boolean isPresent(String className);
+ /** Return true if {@code suggestion} is managed by this provider. */
+ boolean isPresent(@NonNull ComponentName suggestion);
/** Return true if the suggestion has already been completed and does not need to be shown */
- boolean isSuggestionCompleted(Context context);
+ boolean isSuggestionCompleted(Context context, @NonNull ComponentName suggestion);
/**
* Ranks the list of suggestions in place.
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
index 0a14232..a2289e1 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
@@ -16,8 +16,10 @@
package com.android.settings.dashboard.suggestions;
+import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageManager;
+import android.support.annotation.NonNull;
import android.util.Log;
import com.android.internal.logging.nano.MetricsProto;
@@ -42,12 +44,12 @@
}
@Override
- public boolean isPresent(String className) {
+ public boolean isPresent(@NonNull ComponentName component) {
return false;
}
@Override
- public boolean isSuggestionCompleted(Context context) {
+ public boolean isSuggestionCompleted(Context context, @NonNull ComponentName component) {
return false;
}
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionsChecks.java b/src/com/android/settings/dashboard/suggestions/SuggestionsChecks.java
index f4a11e9..ab845a3 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionsChecks.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionsChecks.java
@@ -21,6 +21,7 @@
import android.app.NotificationManager;
import android.app.WallpaperManager;
import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
import android.content.Context;
import android.hardware.fingerprint.FingerprintManager;
import android.provider.Settings;
@@ -56,7 +57,8 @@
}
public boolean isSuggestionComplete(Tile suggestion) {
- String className = suggestion.intent.getComponent().getClassName();
+ ComponentName component = suggestion.intent.getComponent();
+ String className = component.getClassName();
if (className.equals(ZenModeAutomationSuggestionActivity.class.getName())) {
return hasEnabledZenAutoRules();
} else if (className.equals(WallpaperSuggestionActivity.class.getName())) {
@@ -79,8 +81,8 @@
SuggestionFeatureProvider provider =
FeatureFactory.getFactory(mContext).getSuggestionFeatureProvider(mContext);
- if (provider != null && provider.isPresent(className)) {
- return provider.isSuggestionCompleted(mContext);
+ if (provider != null && provider.isPresent(component)) {
+ return provider.isSuggestionCompleted(mContext, component);
}
return false;