diff options
Diffstat (limited to 'src/com/android/dialer/voicemail/VisualVoicemailEnabledChecker.java')
-rw-r--r-- | src/com/android/dialer/voicemail/VisualVoicemailEnabledChecker.java | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/src/com/android/dialer/voicemail/VisualVoicemailEnabledChecker.java b/src/com/android/dialer/voicemail/VisualVoicemailEnabledChecker.java deleted file mode 100644 index 80a0368bd..000000000 --- a/src/com/android/dialer/voicemail/VisualVoicemailEnabledChecker.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.android.dialer.voicemail; - - -import android.content.Context; -import android.content.SharedPreferences; -import android.database.Cursor; -import android.preference.PreferenceManager; -import android.support.annotation.Nullable; - -import com.android.dialer.calllog.CallLogQueryHandler; - -/** - * Helper class to check whether visual voicemail is enabled. - * - * Call isVisualVoicemailEnabled() to retrieve the result. - * - * The result is cached and saved in a SharedPreferences, stored as a boolean in - * PREF_KEY_HAS_ACTIVE_VOICEMAIL_PROVIDER. Every time a new instance is created, it will try to - * restore the cached result from the SharedPreferences. - * - * Call asyncUpdate() to make a CallLogQuery to check the actual status. This is a async call so - * isVisualVoicemailEnabled() will not be affected immediately. - * - * If the status has changed as a result of asyncUpdate(), - * Callback.onVisualVoicemailEnabledStatusChanged() will be called with the new value. - */ -public class VisualVoicemailEnabledChecker implements CallLogQueryHandler.Listener { - - public static final String PREF_KEY_HAS_ACTIVE_VOICEMAIL_PROVIDER = - "has_active_voicemail_provider"; - private SharedPreferences mPrefs; - private boolean mHasActiveVoicemailProvider; - private CallLogQueryHandler mCallLogQueryHandler; - private VoicemailStatusHelper mVoicemailStatusHelper; - private Context mContext; - - public interface Callback { - - /** - * Callback to notify enabled status has changed to the @param newValue - */ - void onVisualVoicemailEnabledStatusChanged(boolean newValue); - } - - private Callback mCallback; - - public VisualVoicemailEnabledChecker(Context context, @Nullable Callback callback) { - mContext = context; - mCallback = callback; - mPrefs = PreferenceManager.getDefaultSharedPreferences(mContext); - mVoicemailStatusHelper = new VoicemailStatusHelperImpl(); - mHasActiveVoicemailProvider = mPrefs.getBoolean(PREF_KEY_HAS_ACTIVE_VOICEMAIL_PROVIDER, - false); - } - - /** - * @return whether visual voicemail is enabled. Result is cached, call asyncUpdate() to - * update the result. - */ - public boolean isVisualVoicemailEnabled() { - return mHasActiveVoicemailProvider; - } - - /** - * Perform an async query into the system to check the status of visual voicemail. - * If the status has changed, Callback.onVisualVoicemailEnabledStatusChanged() will be called. - */ - public void asyncUpdate() { - mCallLogQueryHandler = - new CallLogQueryHandler(mContext, mContext.getContentResolver(), this); - mCallLogQueryHandler.fetchVoicemailStatus(); - } - - @Override - public void onVoicemailStatusFetched(Cursor statusCursor) { - boolean hasActiveVoicemailProvider = - mVoicemailStatusHelper.getNumberActivityVoicemailSources(statusCursor) > 0; - if (hasActiveVoicemailProvider != mHasActiveVoicemailProvider) { - mHasActiveVoicemailProvider = hasActiveVoicemailProvider; - mPrefs.edit().putBoolean(PREF_KEY_HAS_ACTIVE_VOICEMAIL_PROVIDER, - mHasActiveVoicemailProvider); - if (mCallback != null) { - mCallback.onVisualVoicemailEnabledStatusChanged(mHasActiveVoicemailProvider); - } - } - } - - @Override - public void onVoicemailUnreadCountFetched(Cursor cursor) { - // Do nothing - } - - @Override - public void onMissedCallsUnreadCountFetched(Cursor cursor) { - // Do nothing - } - - @Override - public boolean onCallsFetched(Cursor combinedCursor) { - // Do nothing - return false; - } -} |