1528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh/* 2528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh * Copyright (C) 2018 The Android Open Source Project 3528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh * 4528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh * Licensed under the Apache License, Version 2.0 (the "License"); 5528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh * you may not use this file except in compliance with the License. 6528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh * You may obtain a copy of the License at 7528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh * 8528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh * http://www.apache.org/licenses/LICENSE-2.0 9528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh * 10528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh * Unless required by applicable law or agreed to in writing, software 11528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh * distributed under the License is distributed on an "AS IS" BASIS, 12528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh * See the License for the specific language governing permissions and 14528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh * limitations under the License. 15528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh */ 16528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh 17528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadehpackage com.android.settings.gestures; 18528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh 19528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadehimport android.content.Context; 20528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadehimport android.content.SharedPreferences; 21528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadehimport android.provider.SearchIndexableResource; 22528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh 23528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadehimport com.android.internal.logging.nano.MetricsProto; 24528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadehimport com.android.settings.R; 25528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadehimport com.android.settings.dashboard.DashboardFragment; 26528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadehimport com.android.settings.dashboard.suggestions.SuggestionFeatureProvider; 27528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadehimport com.android.settings.overlay.FeatureFactory; 28528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadehimport com.android.settings.search.BaseSearchIndexProvider; 29528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh 30528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadehimport java.util.Arrays; 31528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadehimport java.util.List; 32528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh 33528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadehpublic class SwipeUpGestureSettings extends DashboardFragment { 34528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh 35528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh private static final String TAG = "SwipeUpGesture"; 36528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh 37528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh public static final String PREF_KEY_SUGGESTION_COMPLETE = 38528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh "pref_swipe_up_suggestion_complete"; 39528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh 40528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh @Override 41528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh public void onAttach(Context context) { 42528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh super.onAttach(context); 43528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh SuggestionFeatureProvider suggestionFeatureProvider = FeatureFactory.getFactory(context) 44528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh .getSuggestionFeatureProvider(context); 45528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context); 46528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply(); 47528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh } 48528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh 49528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh @Override 50528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh public int getMetricsCategory() { 51528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh return MetricsProto.MetricsEvent.SETTINGS_GESTURE_SWIPE_UP; 52528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh } 53528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh 54528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh @Override 55528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh protected String getLogTag() { 56528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh return TAG; 57528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh } 58528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh 59528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh @Override 60528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh protected int getPreferenceScreenResId() { 61528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh return R.xml.swipe_up_gesture_settings; 62528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh } 63528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh 64528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = 65528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh new BaseSearchIndexProvider() { 66528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh @Override 67528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh public List<SearchIndexableResource> getXmlResourcesToIndex( 68528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh Context context, boolean enabled) { 69528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh final SearchIndexableResource sir = new SearchIndexableResource(context); 70528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh sir.xmlResId = R.xml.swipe_up_gesture_settings; 71528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh return Arrays.asList(sir); 72528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh } 73528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh 74528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh @Override 75528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh protected boolean isPageSearchEnabled(Context context) { 76528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh return SwipeUpPreferenceController.isGestureAvailable(context); 77528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh } 78528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh }; 79528fe0ca14b5e457b7bb82c2068749268d0d658fMehdi Alizadeh} 80