1199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong/*
2199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * Copyright (C) 2011 The Android Open Source Project
3199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong *
4199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * Licensed under the Apache License, Version 2.0 (the "License");
5199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * you may not use this file except in compliance with the License.
6199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * You may obtain a copy of the License at
7199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong *
8199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong *      http://www.apache.org/licenses/LICENSE-2.0
9199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong *
10199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * Unless required by applicable law or agreed to in writing, software
11199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * distributed under the License is distributed on an "AS IS" BASIS,
12199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * See the License for the specific language governing permissions and
14199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * limitations under the License.
15199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong */
16199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong
170dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackbornpackage com.android.server.am;
180dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn
190dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackbornimport com.android.internal.R;
200dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn
210dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackbornimport android.app.Dialog;
220dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackbornimport android.content.Context;
23947f7824118f0e9b642df8760a8725a7eda59318Adam Powellimport android.util.TypedValue;
240dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackbornimport android.view.Window;
250dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackbornimport android.view.WindowManager;
260dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackbornimport android.widget.ImageView;
270dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackbornimport android.widget.TextView;
280dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn
29be4e6aaa0252dd7da28b7aa85beba982538efa46Dianne Hackbornpublic final class LaunchWarningWindow extends Dialog {
300dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn    public LaunchWarningWindow(Context context, ActivityRecord cur, ActivityRecord next) {
310dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn        super(context, R.style.Theme_Toast);
320dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn
330dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn        requestWindowFeature(Window.FEATURE_LEFT_ICON);
340dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn        getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
350dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn        getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
360dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn                | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
370dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn
380dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn        setContentView(R.layout.launch_warning);
390dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn        setTitle(context.getText(R.string.launch_warning_title));
40947f7824118f0e9b642df8760a8725a7eda59318Adam Powell
41947f7824118f0e9b642df8760a8725a7eda59318Adam Powell        TypedValue out = new TypedValue();
42947f7824118f0e9b642df8760a8725a7eda59318Adam Powell        getContext().getTheme().resolveAttribute(android.R.attr.alertDialogIcon, out, true);
43947f7824118f0e9b642df8760a8725a7eda59318Adam Powell        getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, out.resourceId);
44947f7824118f0e9b642df8760a8725a7eda59318Adam Powell
450dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn        ImageView icon = (ImageView)findViewById(R.id.replace_app_icon);
460dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn        icon.setImageDrawable(next.info.applicationInfo.loadIcon(context.getPackageManager()));
470dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn        TextView text = (TextView)findViewById(R.id.replace_message);
480dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn        text.setText(context.getResources().getString(R.string.launch_warning_replace,
490dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn                next.info.applicationInfo.loadLabel(context.getPackageManager()).toString()));
500dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn        icon = (ImageView)findViewById(R.id.original_app_icon);
510dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn        icon.setImageDrawable(cur.info.applicationInfo.loadIcon(context.getPackageManager()));
520dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn        text = (TextView)findViewById(R.id.original_message);
530dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn        text.setText(context.getResources().getString(R.string.launch_warning_original,
540dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn                cur.info.applicationInfo.loadLabel(context.getPackageManager()).toString()));
550dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn    }
560dad364adb9e9cbc2f7fa115602552f4897387adDianne Hackborn}
57