diff options
author | jeffreyhuang <jeffreyhuang@google.com> | 2017-09-21 11:14:22 -0700 |
---|---|---|
committer | jeffreyhuang <jeffreyhuang@google.com> | 2017-09-27 12:57:52 -0700 |
commit | 8d8f1663b4fabf4de640e4530a9c9298d86549c8 (patch) | |
tree | 7019b7c85766c25dd003c1f3967c20c1a81b6baa /src/com/android/settings/development/EnableAdbWarningDialog.java | |
parent | 6931fcd61f51a5fb67766a3125c3c4f4c049715d (diff) | |
download | packages_apps_Settings-8d8f1663b4fabf4de640e4530a9c9298d86549c8.tar.gz packages_apps_Settings-8d8f1663b4fabf4de640e4530a9c9298d86549c8.tar.bz2 packages_apps_Settings-8d8f1663b4fabf4de640e4530a9c9298d86549c8.zip |
Introduce AdbPreferenceController
- Create new AdbPreferenceController
- Create AdbOnChangeListener interface for adb change callbacks
- Create EnableAdbSettingWarningDialog
- Create controller inside the DashboardFragment
- Port logic from DevelopmentSettings into the controller
- Add deprecated annotation to EnableAdbPreferenceController
Bug: 34203528
Test: make RunSettingsRoboTests -j40
Change-Id: Id57146149943d770bf5ccc9ed5ecc6ea9d8ae66c
Diffstat (limited to 'src/com/android/settings/development/EnableAdbWarningDialog.java')
-rw-r--r-- | src/com/android/settings/development/EnableAdbWarningDialog.java | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/src/com/android/settings/development/EnableAdbWarningDialog.java b/src/com/android/settings/development/EnableAdbWarningDialog.java new file mode 100644 index 0000000000..9829f70d1e --- /dev/null +++ b/src/com/android/settings/development/EnableAdbWarningDialog.java @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2017 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. + */ + +package com.android.settings.development; + +import android.app.AlertDialog; +import android.app.Dialog; +import android.app.Fragment; +import android.app.FragmentManager; +import android.content.DialogInterface; +import android.os.Bundle; + +import com.android.internal.logging.nano.MetricsProto; +import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; + +public class EnableAdbWarningDialog extends InstrumentedDialogFragment implements + DialogInterface.OnClickListener, DialogInterface.OnDismissListener { + + public static final String TAG = "EnableAdbDialog"; + + public static void show(Fragment host) { + final FragmentManager manager = host.getActivity().getFragmentManager(); + if (manager.findFragmentByTag(TAG) == null) { + final EnableAdbWarningDialog dialog = new EnableAdbWarningDialog(); + dialog.setTargetFragment(host, 0 /* requestCode */); + dialog.show(manager, TAG); + } + } + + @Override + public int getMetricsCategory() { + return MetricsProto.MetricsEvent.DIALOG_ENABLE_ADB; + } + + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + return new AlertDialog.Builder(getActivity()) + .setTitle(R.string.adb_warning_title) + .setMessage(R.string.adb_warning_message) + .setPositiveButton(android.R.string.yes, this /* onClickListener */) + .setNegativeButton(android.R.string.no, this /* onClickListener */) + .create(); + } + + @Override + public void onClick(DialogInterface dialog, int which) { + final AdbDialogHost host = (AdbDialogHost) getTargetFragment(); + if (host == null) { + return; + } + if (which == DialogInterface.BUTTON_POSITIVE) { + host.onEnableAdbDialogConfirmed(); + } else { + host.onEnableAdbDialogDismissed(); + } + } + + @Override + public void onDismiss(DialogInterface dialog) { + super.onDismiss(dialog); + final AdbDialogHost host = (AdbDialogHost) getTargetFragment(); + if (host == null) { + return; + } + host.onEnableAdbDialogDismissed(); + } +} |