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

Commit 9a17c2a1 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 4683893 from 8176b22e to pi-release

Change-Id: Ib5cd3fbfe9a86dc55a2676b04568462f4c14b45c
parents a9d0b3fb 8176b22e
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
package com.android.settings.intelligence.suggestions.eligibility;

import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.util.Log;

public class AutomotiveEligibilityChecker {
    private static final String TAG = "AutomotiveEligibility";

    /**
     * When running with {@link PackageManager#FEATURE_AUTOMOTIVE}, suggestion must have
     * {@link #META_DATA_AUTOMOTIVE_ELIGIBLE} defined as true for the suggestion to be eligible.
     */
    private static final String META_DATA_AUTOMOTIVE_ELIGIBLE =
            "com.android.settings.automotive_eligible";

    public static boolean isEligible(Context context, String id, ResolveInfo info) {
        PackageManager packageManager = context.getPackageManager();
        boolean isAutomotive = packageManager.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE);
        boolean isAutomotiveEligible =
                info.activityInfo.metaData.getBoolean(META_DATA_AUTOMOTIVE_ELIGIBLE, false);
        if (isAutomotive) {
            if (!isAutomotiveEligible) {
                Log.i(TAG, "Suggestion is ineligible for FEATURE_AUTOMOTIVE: " + id);
            }
            return isAutomotiveEligible;
        }
        return true;
    }
}
+4 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import android.text.TextUtils;
import android.util.Log;

import com.android.settings.intelligence.suggestions.eligibility.AccountEligibilityChecker;
import com.android.settings.intelligence.suggestions.eligibility.AutomotiveEligibilityChecker;
import com.android.settings.intelligence.suggestions.eligibility.ConnectivityEligibilityChecker;
import com.android.settings.intelligence.suggestions.eligibility.DismissedChecker;
import com.android.settings.intelligence.suggestions.eligibility.FeatureEligibilityChecker;
@@ -156,6 +157,9 @@ public class CandidateSuggestion {
        if (!DismissedChecker.isEligible(mContext, mId, mResolveInfo, mIgnoreAppearRule)) {
            return false;
        }
        if (!AutomotiveEligibilityChecker.isEligible(mContext, mId, mResolveInfo)) {
            return false;
        }
        return true;
    }

+5 −0
Original line number Diff line number Diff line
@@ -28,6 +28,9 @@ public class SuggestionCategoryRegistry {
    static final String CATEGORY_KEY_DEFERRED_SETUP =
            "com.android.settings.suggested.category.DEFERRED_SETUP";
    @VisibleForTesting
    static final String CATEGORY_KEY_HIGH_PRIORITY =
        "com.android.settings.suggested.category.HIGH_PRIORITY";
    @VisibleForTesting
    static final String CATEGORY_KEY_FIRST_IMPRESSION =
            "com.android.settings.suggested.category.FIRST_IMPRESSION";

@@ -40,6 +43,8 @@ public class SuggestionCategoryRegistry {
        CATEGORIES = new ArrayList<>();
        CATEGORIES.add(buildCategory(CATEGORY_KEY_DEFERRED_SETUP,
                true /* exclusive */, 14 * DateUtils.DAY_IN_MILLIS));
        CATEGORIES.add(buildCategory(CATEGORY_KEY_HIGH_PRIORITY,
                true /* exclusive */, 3 * DateUtils.DAY_IN_MILLIS));
        CATEGORIES.add(buildCategory(CATEGORY_KEY_FIRST_IMPRESSION,
                true /* exclusive */, 14 * DateUtils.DAY_IN_MILLIS));
        CATEGORIES.add(buildCategory("com.android.settings.suggested.category.LOCK_SCREEN",