/* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.dashboard.suggestions; import android.app.ActivityManager; import android.content.ComponentName; import android.content.Context; import android.content.SharedPreferences; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import com.android.settings.Settings.NightDisplaySuggestionActivity; import com.android.settings.biometrics.fingerprint.FingerprintEnrollSuggestionActivity; import com.android.settings.biometrics.fingerprint.FingerprintSuggestionActivity; import com.android.settings.display.NightDisplayPreferenceController; import com.android.settings.notification.zen.ZenOnboardingActivity; import com.android.settings.notification.zen.ZenSuggestionActivity; import com.android.settings.password.ScreenLockSuggestionActivity; import com.android.settings.wallpaper.StyleSuggestionActivity; import com.android.settings.wallpaper.WallpaperSuggestionActivity; import com.android.settings.wifi.calling.WifiCallingSuggestionActivity; public class SuggestionFeatureProviderImpl implements SuggestionFeatureProvider { private static final String SHARED_PREF_FILENAME = "suggestions"; @Override public boolean isSuggestionEnabled(Context context) { final ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); return !am.isLowRamDevice(); } @Override public ComponentName getSuggestionServiceComponent() { return new ComponentName( "com.android.settings.intelligence", "com.android.settings.intelligence.suggestions.SuggestionService"); } @Override public boolean isSuggestionComplete(Context context, @NonNull ComponentName component) { final String className = component.getClassName(); if (className.equals(WallpaperSuggestionActivity.class.getName())) { return WallpaperSuggestionActivity.isSuggestionComplete(context); } else if (className.equals(StyleSuggestionActivity.class.getName())) { return StyleSuggestionActivity.isSuggestionComplete(context); } else if (className.equals(FingerprintSuggestionActivity.class.getName())) { return FingerprintSuggestionActivity.isSuggestionComplete(context); } else if (className.equals(FingerprintEnrollSuggestionActivity.class.getName())) { return FingerprintEnrollSuggestionActivity.isSuggestionComplete(context); } else if (className.equals(ScreenLockSuggestionActivity.class.getName())) { return ScreenLockSuggestionActivity.isSuggestionComplete(context); } else if (className.equals(WifiCallingSuggestionActivity.class.getName())) { return WifiCallingSuggestionActivity.isSuggestionComplete(context); } else if (className.equals(NightDisplaySuggestionActivity.class.getName())) { return NightDisplayPreferenceController.isSuggestionComplete(context); } else if (className.equals(ZenSuggestionActivity.class.getName())) { return ZenOnboardingActivity.isSuggestionComplete(context); } return false; } @Override public SharedPreferences getSharedPrefs(Context context) { return context.getSharedPreferences(SHARED_PREF_FILENAME, Context.MODE_PRIVATE); } @Override public Class getContextualSuggestionFragment() { return null; } }