| /* |
| * Copyright (C) 2015 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.tv.tuner; |
| |
| import android.content.Context; |
| import android.content.SharedPreferences; |
| import com.android.tv.common.CommonConstants; |
| import com.android.tv.common.CommonPreferences; |
| import com.android.tv.common.SoftPreconditions; |
| |
| /** A helper class for the tuner preferences. */ |
| public class TunerPreferences extends CommonPreferences { |
| private static final String TAG = "TunerPreferences"; |
| |
| private static final String PREFS_KEY_CHANNEL_DATA_VERSION = "channel_data_version"; |
| private static final String PREFS_KEY_SCANNED_CHANNEL_COUNT = "scanned_channel_count"; |
| private static final String PREFS_KEY_SCAN_DONE = "scan_done"; |
| private static final String PREFS_KEY_TRICKPLAY_EXPIRED_MS = "trickplay_expired_ms"; |
| |
| private static final String SHARED_PREFS_NAME = |
| CommonConstants.BASE_PACKAGE + ".tuner.preferences"; |
| |
| public static final int CHANNEL_DATA_VERSION_NOT_SET = -1; |
| |
| protected static SharedPreferences getSharedPreferences(Context context) { |
| return context.getSharedPreferences(SHARED_PREFS_NAME, Context.MODE_PRIVATE); |
| } |
| |
| public static synchronized int getChannelDataVersion(Context context) { |
| SoftPreconditions.checkState(sInitialized); |
| return getSharedPreferences(context) |
| .getInt( |
| TunerPreferences.PREFS_KEY_CHANNEL_DATA_VERSION, |
| CHANNEL_DATA_VERSION_NOT_SET); |
| } |
| |
| public static synchronized void setChannelDataVersion(Context context, int version) { |
| SoftPreconditions.checkState(sInitialized); |
| getSharedPreferences(context) |
| .edit() |
| .putInt(TunerPreferences.PREFS_KEY_CHANNEL_DATA_VERSION, version) |
| .apply(); |
| } |
| |
| public static synchronized int getScannedChannelCount(Context context) { |
| SoftPreconditions.checkState(sInitialized); |
| return getSharedPreferences(context) |
| .getInt(TunerPreferences.PREFS_KEY_SCANNED_CHANNEL_COUNT, 0); |
| } |
| |
| public static synchronized void setScannedChannelCount(Context context, int channelCount) { |
| SoftPreconditions.checkState(sInitialized); |
| getSharedPreferences(context) |
| .edit() |
| .putInt(TunerPreferences.PREFS_KEY_SCANNED_CHANNEL_COUNT, channelCount) |
| .apply(); |
| } |
| |
| public static synchronized boolean isScanDone(Context context) { |
| SoftPreconditions.checkState(sInitialized); |
| return getSharedPreferences(context) |
| .getBoolean(TunerPreferences.PREFS_KEY_SCAN_DONE, false); |
| } |
| |
| public static synchronized void setScanDone(Context context) { |
| SoftPreconditions.checkState(sInitialized); |
| getSharedPreferences(context) |
| .edit() |
| .putBoolean(TunerPreferences.PREFS_KEY_SCAN_DONE, true) |
| .apply(); |
| } |
| |
| public static synchronized long getTrickplayExpiredMs(Context context) { |
| SoftPreconditions.checkState(sInitialized); |
| return getSharedPreferences(context) |
| .getLong(TunerPreferences.PREFS_KEY_TRICKPLAY_EXPIRED_MS, 0); |
| } |
| |
| public static synchronized void setTrickplayExpiredMs(Context context, long timeMs) { |
| SoftPreconditions.checkState(sInitialized); |
| getSharedPreferences(context) |
| .edit() |
| .putLong(TunerPreferences.PREFS_KEY_TRICKPLAY_EXPIRED_MS, timeMs) |
| .apply(); |
| } |
| } |