summaryrefslogtreecommitdiffstats
path: root/telecomm/java/android/telecom
diff options
context:
space:
mode:
authorNancy Chen <nancychen@google.com>2015-03-04 21:02:27 -0800
committerNancy Chen <nancychen@google.com>2015-03-11 08:45:00 -0700
commit8b97ee3c4830d44d3d4bbdf29bd9a3543f16e565 (patch)
tree97f4703e3d91afbd68bb195d4e80a5881044e0a5 /telecomm/java/android/telecom
parent4a2ca9da48e177b3cf191a435bd62a7e6b706d3e (diff)
downloadframeworks_base-8b97ee3c4830d44d3d4bbdf29bd9a3543f16e565.zip
frameworks_base-8b97ee3c4830d44d3d4bbdf29bd9a3543f16e565.tar.gz
frameworks_base-8b97ee3c4830d44d3d4bbdf29bd9a3543f16e565.tar.bz2
Helper methods for voicemail status provider.
Added method to make it easier to insert into the voicemail status table. Also takes in a phone account for future multi-SIM support. Remove VvmSyncService class in favor of moving most of the code to OmtpVvmSyncService. Bug: 19236241 Change-Id: I5d9def276fbdbc6f825fb35e9fa31bfc3cead1ba
Diffstat (limited to 'telecomm/java/android/telecom')
-rw-r--r--telecomm/java/android/telecom/VvmSyncService.java114
1 files changed, 0 insertions, 114 deletions
diff --git a/telecomm/java/android/telecom/VvmSyncService.java b/telecomm/java/android/telecom/VvmSyncService.java
deleted file mode 100644
index 2aaf348..0000000
--- a/telecomm/java/android/telecom/VvmSyncService.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * 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
- */
-
-/**
- * A {@link Service} which runs the internal implementation of {@link AbstractThreadedSyncAdapter},
- * syncing voicemails to and from a visual voicemail server.
- */
-
-package android.telecom;
-
-import android.accounts.Account;
-import android.app.Service;
-import android.content.AbstractThreadedSyncAdapter;
-import android.content.ContentProviderClient;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.SyncResult;
-import android.os.Bundle;
-import android.os.IBinder;
-import android.provider.VoicemailContract;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * A service to run the VvmSyncAdapter.
- */
-public class VvmSyncService extends Service {
- // Storage for an instance of the sync adapter
- private static VvmSyncAdapter sSyncAdapter = null;
- // Object to use as a thread-safe lock
- private static final Object sSyncAdapterLock = new Object();
-
- @Override
- public void onCreate() {
- synchronized (sSyncAdapterLock) {
- if (sSyncAdapter == null) {
- sSyncAdapter = new VvmSyncAdapter(getApplicationContext(), true);
- }
- }
- }
-
- @Override
- public IBinder onBind(Intent intent) {
- return sSyncAdapter.getSyncAdapterBinder();
- }
-
- public class VvmSyncAdapter extends AbstractThreadedSyncAdapter {
- /** The key to get the extra designating the type of sync action to perform. */
- public final static String SYNC_EXTRA_CODE = "sync_extra_code";
- /** The key to get the {@code Voicemail} object for a new voicemail. */
- public final static String NEW_VOICEMAIL_DATA = "extra_new_voicemail_data";
- /** Sync a new voicemail from the carrier to the device. */
- public final static int SYNC_EXTRA_NEW_VOICEMAIL = 1;
- /** Sync all voicemails because the mailbox was changed remotely. */
- public final static int SYNC_EXTRA_MAILBOX_UPDATE = 2;
-
- private final Context mContext;
-
- public VvmSyncAdapter(Context context, boolean autoInitialize) {
- super(context, autoInitialize);
- mContext = context;
- }
-
- @Override
- public void onPerformSync(Account account, Bundle extras, String authority,
- ContentProviderClient provider, SyncResult syncResult) {
- if (extras.getBoolean(ContentResolver.SYNC_EXTRAS_UPLOAD, false)) {
- // notify server that voicemail has been changed
- syncToServer();
- }
-
- final int syncAction = extras.getInt(SYNC_EXTRA_CODE);
- switch (syncAction) {
- /** sync from carrier */
- case SYNC_EXTRA_NEW_VOICEMAIL:
- // Log new voicemail in voicemail provider.
- Voicemail newVoicemail = extras.getParcelable(NEW_VOICEMAIL_DATA);
- VoicemailContract.Voicemails.insert(mContext, newVoicemail);
- break;
- case SYNC_EXTRA_MAILBOX_UPDATE:
- // Clear and reload all voicemails because the mailbox was updated remotely.
- VoicemailContract.Voicemails.deleteAll(mContext);
- List<Voicemail> voicemails = downloadVoicemails();
- VoicemailContract.Voicemails.insert(mContext, voicemails);
- break;
- default:
- break;
- }
- }
-
- /** Subclasses should implement this method to sync changes to server */
- protected void syncToServer() { }
-
- /** Subclasses should implement this method to download voicemails */
- protected List<Voicemail> downloadVoicemails() {
- return new ArrayList<Voicemail>();
- }
- }
-}