Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 95e60e98 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add support to show first impression type suggestions"

parents a8444690 7afbf0f3
Loading
Loading
Loading
Loading
+13 −7
Original line number Diff line number Diff line
@@ -766,9 +766,9 @@
                android:icon="@drawable/ic_settings_notifications"
                android:exported="true"
                android:taskAffinity="">
            <intent-filter android:priority="1">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="com.android.settings.suggested.category.SETTINGS_ONLY" />
                <category android:name="com.android.settings.suggested.category.FIRST_IMPRESSION" />
            </intent-filter>
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                android:value="com.android.settings.notification.ZenModeSettings" />
@@ -792,7 +792,7 @@
                  android:label="@string/wallpaper_settings_title"
                  android:icon="@drawable/ic_wallpaper"
                  android:theme="@android:style/Theme.NoDisplay">
            <intent-filter android:priority="1">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="com.android.settings.suggested.category.SETTINGS_ONLY" />
            </intent-filter>
@@ -1561,10 +1561,10 @@
            android:icon="@drawable/ic_suggestion_fingerprint">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="com.android.settings.suggested.category.SETTINGS_ONLY" />
                <category android:name="com.android.settings.suggested.category.FIRST_IMPRESSION" />
            </intent-filter>
            <meta-data android:name="com.android.settings.dismiss"
                android:value="10,30" />
                android:value="4,8,30" />
            <meta-data android:name="com.android.settings.require_feature"
                android:value="android.hardware.fingerprint" />
            <meta-data android:name="com.android.settings.title"
@@ -2769,7 +2769,7 @@
                  android:taskAffinity="">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="com.android.settings.suggested.category.SETTINGS_ONLY" />
                <category android:name="com.android.settings.suggested.category.FIRST_IMPRESSION" />
            </intent-filter>
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                       android:value="com.android.settings.WifiCallingSettings" />
@@ -3082,10 +3082,16 @@
            android:label="@string/camera_lift_trigger_title"
            android:icon="@drawable/ic_settings_camera"
            android:enabled="@bool/config_cameraLiftTriggerAvailable">
            <intent-filter android:priority="1">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="com.android.settings.suggested.category.GESTURE" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="com.android.settings.suggested.category.FIRST_IMPRESSION" />
            </intent-filter>
            <meta-data android:name="com.android.settings.dismiss"
                       android:value="3,7,30" />
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                       android:value="com.android.settings.gestures.CameraLiftTriggerSettings"/>
            <meta-data android:name="com.android.settings.title"
+8 −4
Original line number Diff line number Diff line
@@ -17,6 +17,10 @@
<optional-steps>
    <step category="com.android.settings.suggested.category.DEFERRED_SETUP"
          exclusive="true" />
    <step category="com.android.settings.suggested.category.FIRST_IMPRESSION"
          exclusiveExpireDays="7"
          exclusive="true"
          multiple="true" />
    <step category="com.android.settings.suggested.category.LOCK_SCREEN" />
    <step category="com.android.settings.suggested.category.TRUST_AGENT" />
    <step category="com.android.settings.suggested.category.EMAIL" />
+0 −1
Original line number Diff line number Diff line
@@ -78,7 +78,6 @@ public class SuggestionFeatureProviderImpl implements SuggestionFeatureProvider
                suggestion.intent.getComponent(),
                PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                PackageManager.DONT_KILL_APP);
        parser.markCategoryDone(suggestion.category);
    }

    @Override
+2 −3
Original line number Diff line number Diff line
@@ -152,6 +152,5 @@ public class SuggestionFeatureProviderImplTest {
                .setComponentEnabledSetting(mSuggestion.intent.getComponent(),
                        PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                        PackageManager.DONT_KILL_APP);
        verify(mSuggestionParser).markCategoryDone(mSuggestion.category);
    }
}
+70 −55
Original line number Diff line number Diff line
@@ -16,17 +16,13 @@

package com.android.settings.suggestions;

import static com.android.settings.TestConfig.MANIFEST_PATH;
import static com.google.common.truth.Truth.assertThat;

import android.annotation.StringRes;
import android.content.Context;

import com.android.settings.R;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RuntimeEnvironment;
@@ -36,13 +32,27 @@ import org.robolectric.manifest.AndroidManifest;
import org.robolectric.manifest.IntentFilterData;
import org.robolectric.shadows.ShadowApplication;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import static com.android.settings.TestConfig.MANIFEST_PATH;
import static com.google.common.truth.Truth.assertThat;

@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class SettingsSuggestionsTest {

    private static final String CATEGORY_FIRST_IMPRESSION =
            "com.android.settings.suggested.category.FIRST_IMPRESSION";

    private static final String CATEGORY_SETTINGS_ONLY =
            "com.android.settings.suggested.category.SETTINGS_ONLY";

    @Test
    public void zenModeAutomationSuggestion_isValid() {
        assertSuggestionEquals("Settings$ZenModeAutomationSuggestionActivity",
                CATEGORY_FIRST_IMPRESSION,
                R.string.zen_mode_automation_suggestion_title,
                R.string.zen_mode_automation_suggestion_summary);
    }
@@ -50,12 +60,14 @@ public class SettingsSuggestionsTest {
    @Test
    public void wallpaperSuggestion_isValid() {
        assertSuggestionEquals("com.android.settings.wallpaper.WallpaperSuggestionActivity",
                CATEGORY_SETTINGS_ONLY,
                R.string.wallpaper_suggestion_title, R.string.wallpaper_suggestion_summary);
    }

    @Test
    public void fingerprintSuggestion_isValid() {
        assertSuggestionEquals("com.android.settings.Settings$FingerprintSuggestionActivity",
                CATEGORY_FIRST_IMPRESSION,
                R.string.suggestion_additional_fingerprints,
                R.string.suggestion_additional_fingerprints_summary);
    }
@@ -63,10 +75,11 @@ public class SettingsSuggestionsTest {
    @Test
    public void wifiCallingSuggestion_isValid() {
        assertSuggestionEquals("Settings$WifiCallingSuggestionActivity",
                CATEGORY_FIRST_IMPRESSION,
                R.string.wifi_calling_suggestion_title, R.string.wifi_calling_suggestion_summary);
    }

  private void assertSuggestionEquals(String activityName, @StringRes int title,
    private void assertSuggestionEquals(String activityName, String category, @StringRes int title,
            @StringRes int summary) {
        final AndroidManifest androidManifest = ShadowApplication.getInstance().getAppManifest();
        final ActivityData activityData = androidManifest.getActivityData(activityName);
@@ -77,9 +90,11 @@ public class SettingsSuggestionsTest {

        final String pName = context.getPackageName();
        final String actualTitle = context.getString(context.getResources().getIdentifier(
        ((String) metaData.get("com.android.settings.title")).substring(8), "string", pName));
                ((String) metaData.get("com.android.settings.title")).substring(8), "string",
                pName));
        final String actualSummary = context.getString(context.getResources().getIdentifier(
        ((String) metaData.get("com.android.settings.summary")).substring(8), "string", pName));
                ((String) metaData.get("com.android.settings.summary")).substring(8), "string",
                pName));
        assertThat(actualTitle).isEqualTo(expectedTitle);
        assertThat(actualSummary).isEqualTo(expectedSummary);

@@ -89,6 +104,6 @@ public class SettingsSuggestionsTest {
            categories.addAll(intentFilter.getCategories());
        }

    assertThat(categories).contains("com.android.settings.suggested.category.SETTINGS_ONLY");
        assertThat(categories).contains(category);
    }
}