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