1d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor/* 2d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor * Copyright (C) 2011 The Android Open Source Project 3d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor * 4d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor * */ 5d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor 6d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylorpackage com.android.mms.ui; 7d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor 8d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylorimport android.app.Activity; 9d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylorimport android.app.AlertDialog; 10d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylorimport android.content.DialogInterface; 11d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylorimport android.os.Bundle; 12d64419030e1fec1e751695dab3bd7236e2fb0214Roger Chen 13d64419030e1fec1e751695dab3bd7236e2fb0214Roger Chenimport com.android.mms.R; 14d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor 15d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor/** 16d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor * This activity is used by 3rd party apps to allow the user to turn on/off notifications in 17d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor * the Messaging app. 18d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor */ 19d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylorpublic class MiniPreferenceActivity extends Activity { 20d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor public static String DISABLE_NOTIFICATIONS_INTENT = 21d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor "com.android.mms.intent.action.MESSAGING_APP_NOTIFICATIONS"; 22d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor 23d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor @Override 24d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor protected void onCreate(Bundle icicle) { 25d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor super.onCreate(icicle); 26d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor 27d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor boolean notificationsEnabled = MessagingPreferenceActivity.getNotificationEnabled(this); 28d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor 29d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor if (!notificationsEnabled) { 30d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor setResult(RESULT_OK); 31d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor finish(); 32d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor } 33d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor 34d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor AlertDialog.Builder builder = new AlertDialog.Builder(this); 35d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor AlertDialog dialog = builder.setMessage(getResources() 36d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor .getString(R.string.disable_notifications_dialog_message)) 37d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor .setCancelable(true) 38d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor .setPositiveButton(R.string.yes, mDialogButtonListener) 39d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor .setNegativeButton(R.string.no, mDialogButtonListener) 40d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor .show(); 41d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor 42d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor dialog.setOnDismissListener(new DialogInterface.OnDismissListener() { 43d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor public void onDismiss(DialogInterface dialog) { 44d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor if (!MiniPreferenceActivity.this.isFinishing()) { 45d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor finish(); 46d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor } 47d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor } 48d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor }); 49d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor } 50d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor 51d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor private DialogInterface.OnClickListener mDialogButtonListener = 52d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor new DialogInterface.OnClickListener() { 53d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor public void onClick(DialogInterface dialog, int which) { 54d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor if (which == DialogInterface.BUTTON_POSITIVE) { 55d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor // turn off Messaging notifications 56d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor MessagingPreferenceActivity.enableNotifications(false, 57d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor MiniPreferenceActivity.this); 58d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor setResult(RESULT_OK); 59d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor } else { 60d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor setResult(RESULT_CANCELED); 61d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor } 62d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor finish(); 63d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor } 64d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor }; 65d83675687b1ef742c33bffe8195d7b1852c2c01dTom Taylor} 66