1ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian/* 2ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * Copyright (C) 2015 The Android Open Source Project 3ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * 4ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * Licensed under the Apache License, Version 2.0 (the "License"); 5ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * you may not use this file except in compliance with the License. 6ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * You may obtain a copy of the License at 7ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * 8ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * http://www.apache.org/licenses/LICENSE-2.0 9ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * 10ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * Unless required by applicable law or agreed to in writing, software 11ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * distributed under the License is distributed on an "AS IS" BASIS, 12ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * See the License for the specific language governing permissions and 14ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * limitations under the License 15ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian */ 16d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanianpackage com.android.voicemail.impl.sync; 17ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 18ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianimport android.content.BroadcastReceiver; 19ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianimport android.content.Context; 20ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianimport android.content.Intent; 21ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianimport android.provider.VoicemailContract; 22ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianimport android.telecom.PhoneAccountHandle; 239050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanianimport com.android.voicemail.VoicemailComponent; 24d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanianimport com.android.voicemail.impl.settings.VisualVoicemailSettingsUtil; 25ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 26d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian/** Receives changes to the voicemail provider so they can be sent to the voicemail server. */ 27ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianpublic class VoicemailProviderChangeReceiver extends BroadcastReceiver { 28ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 29d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian @Override 30d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian public void onReceive(Context context, Intent intent) { 319050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanian if (!VoicemailComponent.get(context).getVoicemailClient().isVoicemailModuleEnabled()) { 329050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanian return; 339050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanian } 34d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian boolean isSelfChanged = intent.getBooleanExtra(VoicemailContract.EXTRA_SELF_CHANGE, false); 35d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian if (!isSelfChanged) { 36d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian for (PhoneAccountHandle phoneAccount : VvmAccountManager.getActiveAccounts(context)) { 37d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian if (!VisualVoicemailSettingsUtil.isEnabled(context, phoneAccount)) { 38d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian continue; 39ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 40d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian UploadTask.start(context, phoneAccount); 41d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian } 42ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 43d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian } 44ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian} 45