15c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk/* 25c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk * Copyright (C) 2015 The Android Open Source Project 35c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk * 45c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk * Licensed under the Apache License, Version 2.0 (the "License"); 55c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk * you may not use this file except in compliance with the License. 65c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk * You may obtain a copy of the License at 75c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk * 85c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk * http://www.apache.org/licenses/LICENSE-2.0 95c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk * 105c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk * Unless required by applicable law or agreed to in writing, software 115c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk * distributed under the License is distributed on an "AS IS" BASIS, 125c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk * See the License for the specific language governing permissions and 145c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk * limitations under the License. 155c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk */ 16ef861375eebd9ac6cce7c0bb163380ab1c951063Svetoslav 175c07dcb0698725e7949b030665d21f96c916f3b8Jason Monkpackage com.android.packageinstaller.permission.ui; 185c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk 195c07dcb0698725e7949b030665d21f96c916f3b8Jason Monkimport android.app.Activity; 205c07dcb0698725e7949b030665d21f96c916f3b8Jason Monkimport android.app.AlertDialog; 215c07dcb0698725e7949b030665d21f96c916f3b8Jason Monkimport android.content.ActivityNotFoundException; 225c07dcb0698725e7949b030665d21f96c916f3b8Jason Monkimport android.content.DialogInterface; 235c07dcb0698725e7949b030665d21f96c916f3b8Jason Monkimport android.content.DialogInterface.OnClickListener; 245c07dcb0698725e7949b030665d21f96c916f3b8Jason Monkimport android.content.DialogInterface.OnDismissListener; 255c07dcb0698725e7949b030665d21f96c916f3b8Jason Monkimport android.content.Intent; 265c07dcb0698725e7949b030665d21f96c916f3b8Jason Monkimport android.os.Bundle; 275c07dcb0698725e7949b030665d21f96c916f3b8Jason Monkimport android.provider.Settings; 285c07dcb0698725e7949b030665d21f96c916f3b8Jason Monkimport android.util.Log; 295c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk 305c07dcb0698725e7949b030665d21f96c916f3b8Jason Monkimport com.android.packageinstaller.R; 315c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk 325c07dcb0698725e7949b030665d21f96c916f3b8Jason Monkpublic class OverlayWarningDialog extends Activity implements OnClickListener, OnDismissListener { 335c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk 345c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk private static final String TAG = "OverlayWarningDialog"; 355c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk 365c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk @Override 375c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk protected void onCreate(Bundle savedInstanceState) { 385c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk super.onCreate(savedInstanceState); 395c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk 405c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk new AlertDialog.Builder(this) 415c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk .setTitle(R.string.screen_overlay_title) 425c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk .setMessage(R.string.screen_overlay_message) 435c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk .setPositiveButton(R.string.screen_overlay_button, this) 445c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk .setOnDismissListener(this) 455c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk .show(); 465c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk } 475c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk 485c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk @Override 495c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk public void onDismiss(DialogInterface dialog) { 505c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk finish(); 515c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk } 525c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk 535c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk @Override 545c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk public void onClick(DialogInterface dialog, int which) { 555c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk finish(); 565c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk try { 575c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk startActivity(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION)); 585c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk } catch (ActivityNotFoundException e) { 595c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk Log.w(TAG, "No manage overlay settings", e); 605c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk } 615c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk } 625c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk 635c07dcb0698725e7949b030665d21f96c916f3b8Jason Monk} 64