Add Night Light Suggestion and tests
Night Light settings suggestion will only show when the user
has not previously interacted with Night Light.
Bug: 37207263
Test: make ROBOTEST_FILTER=\
"(SettingsSuggestionsTest|SuggestionFeatureProviderImplTest)"\
RunSettingsRoboTests
Change-Id: I432d5fef19f5e4a52503da136b044598cb82164a
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 38b6e1b..7892011 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -52,6 +52,7 @@
public static class UserDictionarySettingsActivity extends SettingsActivity { /* empty */ }
public static class DisplaySettingsActivity extends SettingsActivity { /* empty */ }
public static class NightDisplaySettingsActivity extends SettingsActivity { /* empty */ }
+ public static class NightDisplaySuggestionActivity extends NightDisplaySettingsActivity { /* empty */ }
public static class DeviceInfoSettingsActivity extends SettingsActivity { /* empty */ }
public static class ApplicationSettingsActivity extends SettingsActivity { /* empty */ }
public static class ManageApplicationsActivity extends SettingsActivity { /* empty */ }
@@ -65,7 +66,7 @@
return true;
}
return super.isValidFragment(className);
- }
+ }
}
public static class BackgroundCheckSummaryActivity extends SettingsActivity { /* empty */ }
public static class StorageUseActivity extends SettingsActivity { /* empty */ }
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
index 638f85f..4b4e03f 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
@@ -21,9 +21,13 @@
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.support.annotation.NonNull;
+import android.content.ContentResolver;
+import android.provider.Settings.Secure;
+import android.support.annotation.VisibleForTesting;
import android.util.Log;
import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.Settings.NightDisplaySuggestionActivity;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.support.NewDeviceIntroSuggestionActivity;
@@ -50,6 +54,9 @@
@Override
public boolean isSuggestionCompleted(Context context, @NonNull ComponentName component) {
final String className = component.getClassName();
+ if (className.equals(NightDisplaySuggestionActivity.class.getName())) {
+ return hasUsedNightDisplay(context);
+ }
if (className.equals(NewDeviceIntroSuggestionActivity.class.getName())) {
return NewDeviceIntroSuggestionActivity.isSuggestionComplete(context);
}
@@ -119,4 +126,11 @@
return packageName;
}
+ @VisibleForTesting
+ boolean hasUsedNightDisplay(Context context) {
+ final ContentResolver cr = context.getContentResolver();
+ final long lastActivatedTimeMillis = Secure.getLong(cr,
+ Secure.NIGHT_DISPLAY_LAST_ACTIVATED_TIME, -1);
+ return lastActivatedTimeMillis > 0;
+ }
}