系统选择框ResolverActivity修改记录 (Android10)

本文详细记录了在Android10中,系统选择框ResolverActivity的修改情况,探讨了这些改动对开发者的影响及其应对策略。

系统选择框ResolverActivity修改记录 (Android10)

    提交选择弹框、错误弹框修改;
diff --git a/frameworks/base/core/java/com/android/internal/app/AlertController.java b/frameworks/base/core/java/com/android/internal/app/AlertController.java
old mode 100644
new mode 100755
--- a/frameworks/base/core/java/com/android/internal/app/AlertController.java
+++ b/frameworks/base/core/java/com/android/internal/app/AlertController.java
@@ -28,6 +28,14 @@ import android.content.DialogInterface;
 import android.content.res.Configuration;
 import android.content.res.TypedArray;
 import android.database.Cursor;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.PixelFormat;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffXfermode;
+import android.graphics.Rect;
+import android.graphics.RectF;
 import android.graphics.drawable.Drawable;
 import android.os.Handler;
 import android.os.Message;
@@ -273,6 +281,7 @@ public class AlertController {
     }
 
     private int selectContentView() {
+        // modified by xxxx
         if (mButtonPanelSideLayout == 0) {
             return mAlertDialogLayout;
         }
@@ -438,13 +447,58 @@ public class AlertController {
         if (mIconView != null) {
             if (icon != null) {
                 mIconView.setVisibility(View.VISIBLE);
-                mIconView.setImageDrawable(icon);
+                setIconView(mIconView, icon);
             } else {
                 mIconView.setVisibility(View.GONE);
             }
         }
     }
 
+    private void setIconView(ImageView imageView, int iconId) {
+        setIconView(imageView, mContext.getDrawable(iconId));
+    }
+
+    private void setIconView(ImageView imageView, Drawable icon) {
+        Bitmap bitmap = drawableToBitmap(icon);
+        imageView.setImageBitmap(setRoundCornerBitmap(bitmap, dp2px(mContext, 19)));
+    }
+
+    public int dp2px(Context context, float dpValue) {
+        final float scale = context.getResources().getDisplayMetrics().density;
+        return (int) (dpValue * scale + 0.5f);
+    }
+
+    public Bitmap drawableToBitmap(Drawable drawable) {
+        int width = drawable.getIntrinsicWidth();
+        int height = drawable.getIntrinsicHeight();
+
+        drawable.setBounds(0, 0, width, height);
+        Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
+                : Bitmap.Config.RGB_565;
+        Bitmap bitmap = Bitmap.createBitmap(width, height, config);
+        Canvas canvas = new Canvas(bitmap);
+        drawable.draw(canvas);
+        return bitmap;
+    }
+
+    public Bitmap setRoundCornerBitmap(Bitmap bitmap, float roundPx) {
+        int width = bitmap.getWidth();
+        int height = bitmap.getHeight();
+        Bitmap outBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
+        Canvas canvas = new Canvas(outBitmap);
+        final int color = 0xff424242;
+        final Paint paint = new Paint();
+        final Rect rect = new Rect(0, 0, width, height);
+        final RectF rectf = new RectF(rect);
+        paint.setAntiAlias(true);
+        canvas.drawARGB(0, 0, 0, 0);
+        paint.setColor(color);
+        canvas.drawRoundRect(rectf, roundPx, roundPx, paint);
+        paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
+        canvas.drawBitmap(bitmap, rect, rect, paint);
+        return outBitmap;
+    }
+
     /**
      * @param attrId the attributeId of the theme-specific drawable
      * to resolve the resourceId for.*/
@@ -682,9 +736,11 @@ public class AlertController {
                 // use them instead of the default ones. If the user has
                 // specified 0 then make it disappear.
                 if (mIconId != 0) {
-                    mIconView.setImageResource(mIconId);
+                    setIconView(mIconView, mIconId);
+//                    mIconView.setImageResource(mIconId);
                 } else if (mIcon != null) {
-                    mIconView.setImageDrawable(mIcon);
+                    setIconView(mIconView, mIcon);
+//                    mIconView.setImageDrawable(mIcon);
                 } else {
                     // Apply the padding from the icon to ensure the title is
                     // aligned correctly.
diff --git a/frameworks/base/core/java/com/android/internal/app/ResolverActivity.java b/frameworks/base/core/java/com/android/internal/app/ResolverActivity.java
old mode 100644
new mode 100755
index 9961587..2d40af9
--- a/frameworks/base/core/java/com/android/internal/app/ResolverActivity.java
+++ b/frameworks/base/core/java/com/android/internal/app/ResolverActivity.java
@@ -43,9 +43,16 @@ import android.content.pm.UserInfo;
 import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.graphics.Bitmap;
+import android.graphics.Canvas;
 import android.graphics.ColorMatrix;
 import android.graphics.ColorMatrixColorFilter;
 import android.graphics.Insets;
+import android.graphics.Paint;
+import android.graphics.PixelFormat;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffXfermode;
+import android.graphics.Rect;
+import android.graphics.RectF;
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
@@ -84,6 +91,7 @@ import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.content.PackageMonitor;
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto;
+import com.android.internal.util.ImageUtils;
 import com.android.internal.widget.ResolverDrawerLayout;
 
 import java.util.ArrayList;
@@ -1302,7 +1310,7 @@ public class ResolverActivity extends Activity {
         // In case this method is called again (due to activity recreation), avoid adding a new
         // header if one is already present.
         if (useHeader && listView != null && listView.getHeaderViewsCount() == 0) {
-            listView.setHeaderDividersEnabled(true);
+            listView.setHeaderDividersEnabled(false);
             listView.addHeaderView(LayoutInflater.from(this).inflate(
                     R.layout.resolver_different_item_header, listView, false));
         }
@@ -1333,6 +1341,7 @@ public class ResolverActivity extends Activity {
 
         final ImageView iconView = findViewById(R.id.icon);
         final DisplayResolveInfo iconInfo = mAdapter.getFilteredItem();
+        Log.i(TAG, "iconInfo:" + iconInfo);
         if (iconView != null && iconInfo != null) {
             new LoadIconTask(iconInfo, iconView).execute();
         }
@@ -2061,6 +2070,7 @@ public class ResolverActivity extends Activity {
 
         protected void onBindView(View view, TargetInfo info) {
             final ViewHolder holder = (ViewHolder) view.getTag();
+
             if (info == null) {
                 holder.icon.setImageDrawable(
                         getDrawable(R.drawable.resolver_icon_placeholder));
@@ -2089,16 +2099,18 @@ public class ResolverActivity extends Activity {
                 holder.icon.setColorFilter(null);
             }
 
-            if (info instanceof DisplayResolveInfo
+            // set icon
+            String packageName = info.getResolveInfo().activityInfo.packageName;
+            holder.icon.setImageDrawable(ImageUtils.getAppIcon(getApplicationContext(), packageName));
+            /*if (info instanceof DisplayResolveInfo
                     && !((DisplayResolveInfo) info).hasDisplayIcon()) {
                 new LoadIconTask((DisplayResolveInfo) info, holder.icon).execute();
             } else {
                 holder.icon.setImageDrawable(info.getDisplayIcon());
-            }
+            }*/
         }
     }
 
-
     @VisibleForTesting
     public static final class ResolvedComponentInfo {
         public final ComponentName name;
diff --git a/frameworks/base/core/java/com/android/internal/util/ImageUtils.java b/frameworks/base/core/java/com/android/internal/util/ImageUtils.java
old mode 100644
new mode 100755
index 274a513..61f0fdb
--- a/frameworks/base/core/java/com/android/internal/util/ImageUtils.java
+++ b/frameworks/base/core/java/com/android/internal/util/ImageUtils.java
@@ -18,6 +18,8 @@ package com.android.internal.util;
 
 import android.content.ContentProviderClient;
 import android.content.ContentResolver;
+import android.content.Context;
+import android.content.pm.PackageManager;
 import android.graphics.Bitmap;
 import android.graphics.Bitmap.Config;
 import android.graphics.Canvas;
@@ -26,8 +28,12 @@ import android.graphics.ImageDecoder.ImageInfo;
 import android.graphics.ImageDecoder.Source;
 import android.graphics.Matrix;
 import android.graphics.Paint;
+import android.graphics.PixelFormat;
 import android.graphics.Point;
 import android.graphics.PorterDuff;
+import android.graphics.PorterDuffXfermode;
+import android.graphics.Rect;
+import android.graphics.RectF;
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
@@ -215,4 +221,19 @@ public class ImageUtils {
                 });
         }
     }
+
+    public static Drawable getAppIcon(Context context, String packageName) {
+        PackageManager packageManager = context.getPackageManager();
+        try {
+            return packageManager.getApplicationIcon(packageName);
+        } catch (PackageManager.NameNotFoundException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    public static int dp2px(Context context, float dpValue) {
+        float scale = context.getResources().getDisplayMetrics().density;
+        return (int) (dpValue * scale + 0.5f);
+    }
 }
diff --git a/frameworks/base/core/java/com/android/internal/widget/RoundImageView.java b/frameworks/base/core/java/com/android/internal/widget/RoundImageView.java
new file mode 100755
index 0000000..d43710a
--- /dev/null
+++ b/frameworks/base/core/java/com/android/internal/widget/RoundImageView.java
@@ -0,0 +1,185 @@
+package com.android.internal.widget;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Bitmap;
+import android.graphics.BitmapShader;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Matrix;
+import android.graphics.Paint;
+import android.graphics.Path;
+import android.graphics.PixelFormat;
+import android.graphics.RectF;
+import android.graphics.Shader;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.util.AttributeSet;
+import android.widget.ImageView;
+
+import java.lang.ref.WeakReference;
+
+public class RoundImageView extends ImageView {
+    private static final String TAG = RoundImageView.class.getSimpleName();
+
+    protected Context mContext;
+    protected int mShape;
+    protected int roundRadius;
+    protected int leftTopRadius;
+    protected int rightTopRadius;
+    protected int rightBottomRadius;
+    protected int leftBottomRadius;
+    private Paint shaderPaint;
+    private Paint mPaint;
+    private Shader shader;
+    private WeakReference<Bitmap> mWeakBitmap;
+
+    public RoundImageView(Context context) {
+        super(context);
+        sharedConstructor(context, null);
+    }
+
+    public RoundImageView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        sharedConstructor(context, attrs);
+    }
+
+    public RoundImageView(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+        sharedConstructor(context, attrs);
+    }
+
+    private void sharedConstructor(Context context, AttributeSet attrs) {
+        mContext = context;
+        shaderPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+        mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+
+        if (attrs != null) {
+            TypedArray a = context.obtainStyledAttributes(attrs, com.android.internal.R.styleable.RoundImageView);
+            roundRadius = a.getDimensionPixelSize(com.android.internal.R.styleable.RoundImageView_roundRadius, 20);
+            leftTopRadius = a.getDimensionPixelSize(com.android.internal.R.styleable.RoundImageView_leftTopRadius, -1);
+            if (leftTopRadius == -1){
+                leftTopRadius = roundRadius;
+            }
+            rightTopRadius = a.getDimensionPixelSize(com.android.internal.R.styleable.RoundImageView_rightTopRadius, -1);
+            if (rightTopRadius == -1){
+                rightTopRadius = roundRadius;
+            }
+            rightBottomRadius = a.getDimensionPixelSize(com.android.internal.R.styleable.RoundImageView_rightBottomRadius, -1);
+            if (rightBottomRadius == -1){
+                rightBottomRadius = roundRadius;
+            }
+            leftBottomRadius = a.getDimensionPixelSize(com.android.internal.R.styleable.RoundImageView_leftBottomRadius, -1);
+            if (leftBottomRadius == -1){
+                leftBottomRadius = roundRadius;
+            }
+            a.recycle();
+        }
+    }
+
+    @Override
+    protected void onDraw(Canvas canvas) {
+        Bitmap bmp = drawableToBitmap(getDrawable());
+        if (bmp != null) {
+            float bmpW = bmp.getWidth() - getPaddingLeft() -getPaddingRight();
+            float bmpH = bmp.getHeight() - getPaddingTop() -getPaddingBottom();
+            float h = getHeight();
+            float w = getWidth();
+            drawShader(canvas, bmp, bmpW, bmpH, w, h);
+            drawShape(canvas, w, h);
+        }
+    }
+
+    private void drawShader(Canvas canvas, Bitmap bmp, float bmpW, float bmpH, float w, float h) {
+        shader = new BitmapShader(bmp, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
+        Matrix matrix = new Matrix();
+        setMatrix(matrix, bmpW, bmpH, w, h);
+        shader.setLocalMatrix(matrix);
+        shaderPaint.setColor(Color.TRANSPARENT);
+        shaderPaint.setShader(shader);
+        shaderPaint.setAntiAlias(true);
+        canvas.drawPaint(shaderPaint);
+    }
+
+      public void setMatrix(Matrix matrix, float bmpW, float bmpH, float w, float h) {
+        ScaleType scaleType = getScaleType();
+        if (scaleType == ScaleType.CENTER) {
+            float dx = (w - bmpW) / 2;
+            float dy = (h - bmpH) / 2;
+            matrix.setTranslate(dx, dy);
+        } else if (scaleType == ScaleType.CENTER_CROP) {
+            float ratio = Math.max(w / bmpW, h / bmpH);
+            float useWidth = bmpW * ratio;
+            float useHeight = bmpH * ratio;
+            matrix.setTranslate((w - useWidth) / 2, (h - useHeight) / 2);
+            matrix.preScale(ratio, ratio);
+        } else if (scaleType == ScaleType.CENTER_INSIDE) {
+            float ratio = Math.min(w / bmpW, h / bmpH);
+            if (ratio > 1) {
+                ratio = 1;
+            }
+            float useWidth = bmpW * ratio;
+            float useHeight = bmpH * ratio;
+            matrix.setTranslate((w - useWidth) / 2, (h - useHeight) / 2);
+            matrix.preScale(ratio, ratio);
+        } else if (scaleType == ScaleType.FIT_CENTER) {
+            float ratio = Math.min(w / bmpW, h / bmpH);
+            float useWidth = bmpW * ratio;
+            matrix.setTranslate((w - useWidth) / 2, 0);
+            matrix.preScale(ratio, ratio);
+        } else if (scaleType == ScaleType.FIT_END) {
+            float ratio = Math.min(w / bmpW, h / bmpH);
+            float useWidth = bmpW * ratio;
+            matrix.setTranslate(w - useWidth, 0);
+            matrix.preScale(ratio, ratio);
+
+        } else if (scaleType == ScaleType.FIT_START) {
+            float ratio = Math.min(w / bmpW, h / bmpH);
+            matrix.setScale(ratio, ratio);
+        } else if (scaleType == ScaleType.FIT_XY) {
+            float wRatio = w / bmpW;
+            float hRatio = h / bmpH;
+            matrix.setScale(wRatio, hRatio);
+        } else if (scaleType == ScaleType.MATRIX) {
+            //do nothing
+        }
+    }
+
+
+    private void drawShape(Canvas canvas, float w, float h) {
+        RectF rectF = new RectF();
+        shaderPaint.setColor(Color.WHITE);
+        shaderPaint.setAntiAlias(true);
+        shaderPaint.setStyle(Paint.Style.FILL);
+        Path path = new Path();
+        rectF.left = 0;
+        rectF.top = 0;
+        rectF.right = w;
+        rectF.bottom = h;
+        float[] rad = {leftTopRadius, leftTopRadius, rightTopRadius, rightTopRadius, rightBottomRadius, rightBottomRadius, leftBottomRadius, leftBottomRadius};
+//                path.addRoundRect(rectF, rad, Path.Direction.CW);
+        path.addRoundRect(new RectF(getPaddingLeft(), getPaddingTop(), getWidth() - getPaddingRight(), getHeight() - getPaddingBottom()),
+                rad, Path.Direction.CW);
+        canvas.drawPath(path, shaderPaint);
+    }
+
+    private Bitmap drawableToBitmap(Drawable drawable) {
+        if (drawable == null) {
+            return null;
+        }
+        if (drawable instanceof BitmapDrawable) {
+            return ((BitmapDrawable) drawable).getBitmap();
+        }
+        int w = drawable.getIntrinsicWidth() - getPaddingLeft() -getPaddingRight();
+        int h = drawable.getIntrinsicHeight() - getPaddingTop() - getPaddingBottom();
+        Bitmap.Config config =
+                drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
+                        : Bitmap.Config.RGB_565;
+        Bitmap bitmap = Bitmap.createBitmap(w, h, config);
+        Canvas canvas = new Canvas(bitmap);
+        drawable.setBounds(0, 0, w, h);
+        drawable.draw(canvas);
+        return bitmap;
+
+    }
+}
diff --git a/frameworks/base/core/res/res/drawable/dialog_bg_shape_border.xml b/frameworks/base/core/res/res/drawable/dialog_bg_shape_border.xml
new file mode 100755
index 0000000..638312c
--- /dev/null
+++ b/frameworks/base/core/res/res/drawable/dialog_bg_shape_border.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_focused="true">
+        <shape
+            android:shape="rectangle">
+            <corners android:radius="8dp" />
+            <stroke android:width="1dp" android:color="#4073F6"/>
+        </shape>
+    </item>
+
+    <item android:state_selected="true">
+        <shape
+            android:shape="rectangle">
+            <corners android:radius="8dp" />
+            <stroke android:width="1dp" android:color="#4073F6"/>
+        </shape>
+    </item>
+
+    <item android:state_pressed="true">
+        <shape
+            android:shape="rectangle">
+            <corners android:radius="8dp" />
+            <solid android:color="#4073F6"/>
+        </shape>
+    </item>
+
+    <item android:drawable="@color/transparent"/>
+</selector>
+
+
diff --git a/frameworks/base/core/res/res/drawable/dialog_bg_shape_white.xml b/frameworks/base/core/res/res/drawable/dialog_bg_shape_white.xml
new file mode 100755
index 0000000..63b738d
--- /dev/null
+++ b/frameworks/base/core/res/res/drawable/dialog_bg_shape_white.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="13dp" />
+        <!-- CC 80%透明度   -->
+    <solid android:color="#CCFDFDFD" />
+</shape>
diff --git a/frameworks/base/core/res/res/drawable/dialog_confirm_button_text_colors.xml b/frameworks/base/core/res/res/drawable/dialog_confirm_button_text_colors.xml
new file mode 100755
index 0000000..86de540
--- /dev/null
+++ b/frameworks/base/core/res/res/drawable/dialog_confirm_button_text_colors.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <!-- 获取焦点时的字体颜色 -->
+    <item android:state_focused="true" android:color="@android:color/white" />
+    <item android:state_selected="true" android:state_pressed="true"  android:color="@android:color/white" />
+    <!-- 默认时的字体颜色-->
+    <item android:color="@android:color/black" />
+</selector>
\ No newline at end of file
diff --git a/frameworks/base/core/res/res/drawable/dialog_selector_button.xml b/frameworks/base/core/res/res/drawable/dialog_selector_button.xml
new file mode 100755
index 0000000..39978c6
--- /dev/null
+++ b/frameworks/base/core/res/res/drawable/dialog_selector_button.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true">
+        <layer-list>
+            <!--最外层白色圆角矩形-->
+            <item >
+                <shape android:shape="rectangle">
+                    <stroke android:width="1dp" android:color="#ffffffff" />
+                    <corners android:radius="6dp" />
+                </shape>
+            </item>
+            <!--内阴影-->
+            <item >
+                <shape android:shape="rectangle" >
+                    <stroke android:width="8dp" android:color="#33FDFDFD" />
+                    <corners android:radius="4dp" />
+                </shape>
+            </item>
+            <!--内层蓝色圆角矩形-->
+            <item >
+                <shape android:shape="rectangle" >
+                    <stroke android:width="8dp" android:color="#00000000" />
+                    <corners android:radius="6dp" />
+                    <solid android:color="#4073F6"/>
+                </shape>
+            </item>
+        </layer-list>
+    </item>
+
+    <item android:state_focused="true">
+        <layer-list>
+            <!--最外层白色圆角矩形-->
+            <item >
+                <shape android:shape="rectangle">
+                    <stroke android:width="1dp" android:color="#ffffffff" />
+                    <corners android:radius="6dp" />
+                </shape>
+            </item>
+            <!--内阴影-->
+            <item >
+                <shape android:shape="rectangle" >
+                    <stroke android:width="8dp" android:color="#33FDFDFD" />
+                    <corners android:radius="4dp" />
+                </shape>
+            </item>
+            <!--内层蓝色圆角矩形-->
+            <item >
+                <shape android:shape="rectangle" >
+                    <stroke android:width="8dp" android:color="#00000000" />
+                    <corners android:radius="6dp" />
+                    <solid android:color="#4073F6"/>
+                </shape>
+            </item>
+        </layer-list>
+    </item>
+
+    <item >
+        <layer-list>
+<!--            <item >-->
+<!--                <shape android:shape="rectangle">-->
+<!--                    <solid android:color="#1f000000" />-->
+<!--                    <corners android:radius="6dp" />-->
+<!--                </shape>-->
+<!--            </item>-->
+
+                <!--最外层白色圆角矩形-->
+                <item >
+                    <shape android:shape="rectangle">
+                        <stroke android:width="1dp" android:color="#00000000" />
+                        <corners android:radius="6dp" />
+                    </shape>
+                </item>
+                <!--内阴影-->
+                <item >
+                    <shape android:shape="rectangle" >
+                        <stroke android:width="8dp" android:color="#00000000" />
+                        <corners android:radius="4dp" />
+                    </shape>
+                </item>
+                <!--内层蓝色圆角矩形-->
+                <item >
+                    <shape android:shape="rectangle" >
+                        <stroke android:width="8dp" android:color="#00000000" />
+                        <corners android:radius="6dp" />
+                        <solid android:color="#1f000000"/>
+                    </shape>
+                </item>
+
+        </layer-list>
+    </item>
+
+</selector>
\ No newline at end of file
diff --git a/frameworks/base/core/res/res/layout/alert_dialog.xml b/frameworks/base/core/res/res/layout/alert_dialog.xml
old mode 100644
new mode 100755
index 59e56af..04a71d4
--- a/frameworks/base/core/res/res/layout/alert_dialog.xml
+++ b/frameworks/base/core/res/res/layout/alert_dialog.xml
@@ -18,11 +18,13 @@
 */
 -->
 
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/parentPanel"
-    android:layout_width="match_parent"
+    android:layout_width="480dp"
     android:layout_height="wrap_content"
+    android:layout_gravity="center_horizontal"
     android:orientation="vertical"
     android:paddingTop="9dip"
     android:paddingBottom="3dip"
@@ -32,31 +34,35 @@
     <LinearLayout android:id="@+id/topPanel"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:minHeight="54dip"
+        android:layout_gravity="center_horizontal"
+        android:gravity="center"
         android:orientation="vertical">
         <LinearLayout android:id="@+id/title_template"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:gravity="center_vertical"
-            android:layout_marginTop="6dip"
-            android:layout_marginBottom="9dip"
-            android:layout_marginStart="10dip"
-            android:layout_marginEnd="10dip">
-            <ImageView android:id="@+id/icon"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="top"
-                android:paddingTop="6dip"
-                android:paddingEnd="10dip"
-                android:src="@drawable/ic_dialog_info" />
-            <com.android.internal.widget.DialogTitle android:id="@+id/alertTitle"
+            android:orientation="vertical"
+            android:gravity="center_horizontal"
+            android:paddingVertical="8dp"
+            >
+            <com.android.internal.widget.RoundImageView
+                android:id="@+id/icon"
+                android:layout_width="84dp"
+                android:layout_height="84dp"
+                android:layout_gravity="center"
+                android:layout_marginBottom="10dp"
+                app:roundRadius="19dp"
+                tools:src="@drawable/ic_dialog_info"/>
+            <com.android.internal.widget.DialogTitle
+                android:id="@+id/alertTitle"
                 style="?android:attr/textAppearanceLarge"
                 android:singleLine="true"
                 android:ellipsize="end"
-                android:layout_width="match_parent"
+                android:textSize="24sp"
+                android:layout_gravity="center"
+                android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:textAlignment="viewStart" />
+                android:textAlignment="viewStart"
+                tools:text="App not response."/>
         </LinearLayout>
         <ImageView android:id="@+id/titleDivider"
             android:layout_width="match_parent"
diff --git a/frameworks/base/core/res/res/layout/alert_dialog_button_bar_material.xml b/frameworks/base/core/res/res/layout/alert_dialog_button_bar_material.xml
old mode 100644
new mode 100755
diff --git a/frameworks/base/core/res/res/layout/alert_dialog_material.xml b/frameworks/base/core/res/res/layout/alert_dialog_material.xml
old mode 100644
new mode 100755
index 178505c..3ba9abc
--- a/frameworks/base/core/res/res/layout/alert_dialog_material.xml
+++ b/frameworks/base/core/res/res/layout/alert_dialog_material.xml
@@ -18,9 +18,10 @@
 <com.android.internal.widget.AlertDialogLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/parentPanel"
-    android:layout_width="match_parent"
+    android:layout_width="480dp"
     android:layout_height="wrap_content"
-    android:gravity="start|top"
+    android:layout_gravity="center_horizontal"
+    android:gravity="center_horizontal"
     android:orientation="vertical">
 
     <include layout="@layout/alert_dialog_title_material" />
@@ -74,7 +75,8 @@
         <FrameLayout
             android:id="@+id/custom"
             android:layout_width="match_parent"
-            android:layout_height="wrap_content" />
+            android:layout_height="wrap_content"
+            />
     </FrameLayout>
 
     <include
diff --git a/frameworks/base/core/res/res/layout/alert_dialog_title_material.xml b/frameworks/base/core/res/res/layout/alert_dialog_title_material.xml
old mode 100644
new mode 100755
index eef9585..783df4d
--- a/frameworks/base/core/res/res/layout/alert_dialog_title_material.xml
+++ b/frameworks/base/core/res/res/layout/alert_dialog_title_material.xml
@@ -16,39 +16,53 @@
 -->
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:id="@+id/topPanel"
-              android:layout_width="match_parent"
-              android:layout_height="wrap_content"
-              android:orientation="vertical">
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/topPanel"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
 
     <!-- If the client uses a customTitle, it will be added here. -->
 
-    <LinearLayout
-        android:id="@+id/title_template"
+    <LinearLayout android:id="@+id/topPanel"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:gravity="center_vertical|start"
-        android:paddingStart="?attr/dialogPreferredPadding"
-        android:paddingEnd="?attr/dialogPreferredPadding"
-        android:paddingTop="@dimen/dialog_padding_top_material">
-
-        <ImageView
-            android:id="@+id/icon"
-            android:layout_width="32dip"
-            android:layout_height="32dip"
-            android:layout_marginEnd="8dip"
-            android:scaleType="fitCenter"
-            android:src="@null" />
-
-        <com.android.internal.widget.DialogTitle
-            android:id="@+id/alertTitle"
-            android:singleLine="true"
-            android:ellipsize="end"
+        android:layout_gravity="center_horizontal"
+        android:gravity="center"
+        android:orientation="vertical">
+        <LinearLayout android:id="@+id/title_template"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:textAlignment="viewStart"
-            style="?attr/windowTitleStyle" />
+            android:orientation="vertical"
+            android:gravity="center_horizontal">
+            <com.android.internal.widget.RoundImageView
+                android:id="@+id/icon"
+                android:layout_width="84dp"
+                android:layout_height="84dp"
+                android:layout_gravity="center"
+                android:layout_marginTop="37dp"
+                app:roundRadius="19dp"
+                android:src="@drawable/ic_dialog_info" />
+            <com.android.internal.widget.DialogTitle
+                android:id="@+id/alertTitle"
+                style="?android:attr/textAppearanceLarge"
+                android:singleLine="true"
+                android:ellipsize="end"
+                android:textSize="24sp"
+                android:textColor="@color/black"
+                android:layout_marginTop="19dp"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textAlignment="viewStart"/>
+        </LinearLayout>
+        <ImageView android:id="@+id/titleDivider"
+            android:layout_width="match_parent"
+            android:layout_height="1dip"
+            android:visibility="gone"
+            android:scaleType="fitXY"
+            android:gravity="fill_horizontal"
+            android:src="@android:drawable/divider_horizontal_dark" />
+        <!-- If the client uses a customTitle, it will be added here. -->
     </LinearLayout>
 
     <Space
diff --git a/frameworks/base/core/res/res/layout/app_anr_dialog.xml b/frameworks/base/core/res/res/layout/app_anr_dialog.xml
old mode 100644
new mode 100755
index 5ad0f4c..359042f
--- a/frameworks/base/core/res/res/layout/app_anr_dialog.xml
+++ b/frameworks/base/core/res/res/layout/app_anr_dialog.xml
@@ -18,31 +18,31 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical"
-        android:paddingTop="@dimen/aerr_padding_list_top"
-        android:paddingBottom="@dimen/aerr_padding_list_bottom">
+        android:layout_gravity="center_horizontal">
 
-    <Button
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_horizontal"
+        android:gravity="center_horizontal"
+        android:orientation="horizontal"
+        android:paddingHorizontal="23dp"
+        android:paddingVertical="20dp">
+
+        <Button
             android:id="@+id/aerr_close"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/aerr_close_app"
-            android:drawableStart="@drawable/ic_close"
-            style="@style/aerr_list_item" />
+            style="@style/BaseDialogButtonCustom"
+            android:text="@string/aerr_close_app" />
 
-    <Button
+        <Button
             android:id="@+id/aerr_wait"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/aerr_wait"
-            android:drawableStart="@drawable/ic_schedule"
-            style="@style/aerr_list_item" />
+            style="@style/BaseDialogButtonCustom"
+            android:text="@string/aerr_wait" />
 
-    <Button
+        <Button
             android:id="@+id/aerr_report"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/aerr_report"
-            android:drawableStart="@drawable/ic_feedback"
-            style="@style/aerr_list_item" />
+            style="@style/BaseDialogButtonCustom"
+            android:text="@string/aerr_report" />
+    </LinearLayout>
 
 </LinearLayout>
diff --git a/frameworks/base/core/res/res/layout/resolve_list_item.xml b/frameworks/base/core/res/res/layout/resolve_list_item.xml
old mode 100644
new mode 100755
index 4857095..b5a2468
--- a/frameworks/base/core/res/res/layout/resolve_list_item.xml
+++ b/frameworks/base/core/res/res/layout/resolve_list_item.xml
@@ -18,54 +18,62 @@
 */
 -->
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:orientation="horizontal"
-              android:layout_height="wrap_content"
-              android:layout_width="match_parent"
-              android:minHeight="?attr/listPreferredItemHeightSmall"
-              android:background="?attr/activatedBackgroundIndicator">
+    xmlns:tools="http://schemas.android.com/tools"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:orientation="horizontal"
+    android:layout_height="wrap_content"
+    android:layout_width="match_parent"
+    android:gravity="center_vertical"
+    android:minHeight="?attr/listPreferredItemHeightSmall"
+    android:background="?attr/activatedBackgroundIndicator"
+    android:padding="12dp">
+<!-- android:background="?attr/activatedBackgroundIndicator" -->
 
     <!-- Activity icon when presenting dialog
          Size will be filled in by ResolverActivity -->
-    <ImageView android:id="@+id/icon"
-               android:layout_width="@dimen/resolver_icon_size"
-               android:layout_height="@dimen/resolver_icon_size"
-               android:layout_gravity="start|center_vertical"
-               android:layout_marginStart="@dimen/resolver_icon_margin"
-               android:layout_marginEnd="@dimen/resolver_icon_margin"
-               android:layout_marginTop="12dp"
-               android:layout_marginBottom="12dp"
-               android:scaleType="fitCenter" />
+    <com.android.internal.widget.RoundImageView
+        android:id="@+id/icon"
+        android:layout_width="84dp"
+        android:layout_height="84dp"
+        android:layout_gravity="start|center_vertical"
+        android:layout_marginStart="@dimen/resolver_icon_margin"
+        android:layout_marginEnd="@dimen/resolver_icon_margin"
+        app:roundRadius="19dp"
+        android:scaleType="fitCenter"
+        tools:src="@drawable/resolver_icon_placeholder"/>
 
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:gravity="start|center_vertical"
-              android:orientation="vertical"
-              android:paddingEnd="@dimen/resolver_edge_margin"
-              android:layout_height="wrap_content"
-              android:layout_width="wrap_content"
-              android:layout_gravity="start|center_vertical">
+        android:gravity="start|center_vertical"
+        android:orientation="vertical"
+        android:layout_marginStart="25dp"
+        android:layout_height="wrap_content"
+        android:layout_width="wrap_content"
+        android:layout_gravity="start|center_vertical">
         <!-- Activity name -->
         <TextView android:id="@android:id/text1"
-                  android:layout_width="wrap_content"
-                  android:layout_height="wrap_content"
-                  android:layout_gravity="start|center_vertical"
-                  android:textColor="?android:attr/textColorPrimary"
-                  android:fontFamily="@android:string/config_bodyFontFamily"
-                  android:textSize="16sp"
-                  android:minLines="1"
-                  android:maxLines="1"
-                  android:ellipsize="marquee" />
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="start|center_vertical"
+            android:textColor="#FF000000"
+            android:textSize="24sp"
+            android:minLines="1"
+            android:maxLines="1"
+            tools:text="APP"
+            android:ellipsize="marquee"
+            android:singleLine="true" />
         <!-- Extended activity info to distinguish between duplicate activity names -->
         <TextView android:id="@android:id/text2"
-                  android:textColor="?android:attr/textColorSecondary"
-                  android:fontFamily="@android:string/config_bodyFontFamily"
-                  android:layout_gravity="start|center_vertical"
-                  android:textSize="14sp"
-                  android:visibility="gone"
-                  android:layout_width="wrap_content"
-                  android:layout_height="wrap_content"
-                  android:minLines="1"
-                  android:maxLines="1"
-                  android:ellipsize="marquee" />
+            android:textColor="#CC000000"
+            android:layout_gravity="start|center_vertical"
+            android:textSize="24sp"
+            android:visibility="gone"
+            tools:visibility="visible"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:minLines="1"
+            android:maxLines="1"
+            tools:text="open way"
+            android:ellipsize="marquee"/>
     </LinearLayout>
 </LinearLayout>
 
diff --git a/frameworks/base/core/res/res/layout/resolver_different_item_header.xml b/frameworks/base/core/res/res/layout/resolver_different_item_header.xml
old mode 100644
new mode 100755
index 0a35edc..053112f
--- a/frameworks/base/core/res/res/layout/resolver_different_item_header.xml
+++ b/frameworks/base/core/res/res/layout/resolver_different_item_header.xml
@@ -22,12 +22,9 @@
     android:layout_height="wrap_content"
     android:layout_alwaysShow="true"
     android:text="@string/use_a_different_app"
-    android:textColor="?android:attr/textColorPrimary"
-    android:fontFamily="@android:string/config_headlineFontFamilyMedium"
-    android:textSize="16sp"
+    android:textColor="#FF000000"
+    android:textSize="24sp"
     android:gravity="start|center_vertical"
-    android:paddingStart="@dimen/resolver_edge_margin"
-    android:paddingEnd="@dimen/resolver_edge_margin"
-    android:paddingTop="@dimen/resolver_small_margin"
-    android:paddingBottom="@dimen/resolver_edge_margin"
+    android:paddingHorizontal="@dimen/resolver_edge_margin"
+    android:paddingVertical="5dp"
     android:elevation="1dp" />
diff --git a/frameworks/base/core/res/res/layout/resolver_list.xml b/frameworks/base/core/res/res/layout/resolver_list.xml
old mode 100644
new mode 100755
index 6e45e7a..38a7b14
--- a/frameworks/base/core/res/res/layout/resolver_list.xml
+++ b/frameworks/base/core/res/res/layout/resolver_list.xml
@@ -16,136 +16,161 @@
 * limitations under the License.
 */
 -->
-<com.android.internal.widget.ResolverDrawerLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
+<com.android.internal.widget.ResolverDrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    xmlns:tools="http://schemas.android.com/tools"
     android:maxWidth="@dimen/resolver_max_width"
-    android:maxCollapsedHeight="192dp"
-    android:maxCollapsedHeightSmall="56dp"
+    android:maxCollapsedHeight="544dp"
     android:id="@id/contentPanel">
 
-    <RelativeLayout
-        android:layout_width="match_parent"
+    <LinearLayout
+        android:layout_width="480dp"
         android:layout_height="wrap_content"
-        android:layout_alwaysShow="true"
-        android:elevation="@dimen/resolver_elevation"
-        android:paddingTop="@dimen/resolver_small_margin"
-        android:paddingStart="@dimen/resolver_edge_margin"
-        android:paddingEnd="@dimen/resolver_edge_margin"
-        android:paddingBottom="@dimen/resolver_edge_margin"
-        android:background="@drawable/bottomsheet_background">
-
-        <TextView
-            android:id="@+id/profile_button"
-            android:layout_width="wrap_content"
-            android:layout_height="48dp"
-            android:layout_marginEnd="8dp"
-            android:visibility="gone"
-            style="?attr/borderlessButtonStyle"
-            android:textAppearance="?attr/textAppearanceButton"
-            android:textColor="?attr/colorAccent"
-            android:gravity="center_vertical"
-            android:layout_alignParentTop="true"
-            android:layout_alignParentEnd="true"
-            android:singleLine="true" />
+        android:background="@drawable/dialog_bg_shape_white"
+        android:orientation="vertical">
 
-        <TextView
-            android:id="@+id/title"
+        <RelativeLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_below="@id/profile_button"
-            android:layout_alignParentStart="true"
-            android:textColor="?android:attr/textColorPrimary"
-            android:fontFamily="@android:string/config_headlineFontFamilyMedium"
-            android:textSize="16sp"
-            android:gravity="start|center_vertical" />
-    </RelativeLayout>
+            android:layout_alwaysShow="true"
+            android:elevation="@dimen/resolver_elevation"
+            android:paddingTop="@dimen/resolver_small_margin"
+            android:paddingStart="@dimen/resolver_edge_margin"
+            android:paddingEnd="@dimen/resolver_edge_margin"
+            android:paddingBottom="@dimen/resolver_edge_margin">
 
-    <View
-        android:layout_alwaysShow="true"
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="?attr/colorBackgroundFloating"
-        android:foreground="?attr/dividerVertical" />
-    <ListView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:id="@+id/resolver_list"
-        android:clipToPadding="false"
-        android:background="?attr/colorBackgroundFloating"
-        android:elevation="@dimen/resolver_elevation"
-        android:nestedScrollingEnabled="true"
-        android:scrollbarStyle="outsideOverlay"
-        android:scrollIndicators="top|bottom"
-        android:divider="?attr/dividerVertical"
-        android:footerDividersEnabled="false"
-        android:headerDividersEnabled="false"
-        android:dividerHeight="1dp" />
-    <View
-        android:layout_alwaysShow="true"
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="?attr/colorBackgroundFloating"
-        android:foreground="?attr/dividerVertical" />
+            <TextView
+                android:id="@+id/profile_button"
+                android:layout_width="wrap_content"
+                android:layout_height="48dp"
+                android:layout_marginEnd="8dp"
+                android:visibility="gone"
+                style="?attr/borderlessButtonStyle"
+                android:textAppearance="?attr/textAppearanceButton"
+                android:textColor="?attr/colorAccent"
+                android:gravity="center_vertical"
+                android:layout_alignParentTop="true"
+                android:layout_alignParentEnd="true"
+                android:textSize="24sp"
+                android:singleLine="true" />
 
+            <TextView
+                android:id="@+id/title"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_below="@id/profile_button"
+                android:layout_alignParentStart="true"
+                android:fontFamily="@android:string/config_headlineFontFamilyMedium"
+                android:gravity="start|center_vertical"
+                android:textColor="?android:attr/textColorPrimary"
+                android:textSize="24sp" />
+        </RelativeLayout>
 
-    <TextView android:id="@+id/empty"
-              android:layout_width="match_parent"
-              android:layout_height="wrap_content"
-              android:background="?attr/colorBackgroundFloating"
-              android:elevation="@dimen/resolver_elevation"
-              android:layout_alwaysShow="true"
-              android:text="@string/noApplications"
-              android:padding="32dp"
-              android:gravity="center"
-              android:visibility="gone" />
+        <ListView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:id="@+id/resolver_list"
+            android:clipToPadding="false"
+            android:elevation="@dimen/resolver_elevation"
+            android:nestedScrollingEnabled="true"
+            android:scrollbarStyle="outsideOverlay"
+            android:scrollIndicators="top|bottom"
+            android:divider="?attr/dividerVertical"
+            android:footerDividersEnabled="false"
+            android:headerDividersEnabled="false"
+            android:dividerHeight="1dp" />
 
-    <LinearLayout
-        android:id="@+id/button_bar"
-        android:visibility="gone"
-        style="?attr/buttonBarStyle"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_ignoreOffset="true"
-        android:layout_alwaysShow="true"
-        android:layout_hasNestedScrollIndicator="true"
-        android:gravity="end|center_vertical"
-        android:orientation="horizontal"
-        android:layoutDirection="locale"
-        android:measureWithLargestChild="true"
-        android:background="?attr/colorBackgroundFloating"
-        android:paddingTop="@dimen/resolver_button_bar_spacing"
-        android:paddingBottom="@dimen/resolver_button_bar_spacing"
-        android:paddingStart="@dimen/resolver_edge_margin"
-        android:paddingEnd="@dimen/resolver_small_margin"
-        android:elevation="@dimen/resolver_elevation">
+        <TextView android:id="@+id/empty"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:background="?attr/colorBackgroundFloating"
+            android:elevation="@dimen/resolver_elevation"
+            android:layout_alwaysShow="true"
+            android:text="@string/noApplications"
+            android:padding="32dp"
+            android:gravity="center"
+            android:visibility="gone" />
 
-        <Button
-            android:id="@+id/button_once"
-            android:layout_width="wrap_content"
-            android:layout_gravity="start"
-            android:maxLines="2"
-            style="?attr/buttonBarButtonStyle"
-            android:fontFamily="@android:string/config_headlineFontFamilyMedium"
+        <LinearLayout
+            android:id="@+id/button_bar"
+            android:visibility="gone"
+            tools:visibility="visible"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:textAllCaps="false"
-            android:enabled="false"
-            android:text="@string/activity_resolver_use_once"
-            android:onClick="onButtonClick" />
+            android:layout_gravity="center_horizontal"
+            android:gravity="center_horizontal"
+            android:orientation="horizontal"
+            android:paddingHorizontal="23dp"
+            android:paddingVertical="20dp">
+
+            <Button
+                android:id="@+id/button_once"
+                style="@style/BaseDialogButtonCustom"
+                android:text="@string/activity_resolver_use_once"
+                android:onClick="onButtonClick"
+                android:textAllCaps="false"
+                android:enabled="false"
+                android:maxLines="2"
+                />
 
-        <Button
-            android:id="@+id/button_always"
-            android:layout_width="wrap_content"
-            android:layout_gravity="end"
-            android:maxLines="2"
-            style="?attr/buttonBarButtonStyle"
-            android:fontFamily="@android:string/config_headlineFontFamilyMedium"
-            android:textAllCaps="false"
+            <Button
+                android:id="@+id/button_always"
+                style="@style/BaseDialogButtonCustom"
+                android:text="@string/activity_resolver_use_always"
+                android:onClick="onButtonClick"
+                android:textAllCaps="false"
+                android:enabled="false"
+                android:maxLines="2"
+                />
+        </LinearLayout>
+
+        <!--<LinearLayout
+            android:id="@+id/button_bar"
+            android:visibility="gone"
+            tools:visibility="visible"
+            style="?attr/buttonBarStyle"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:enabled="false"
-            android:text="@string/activity_resolver_use_always"
-            android:onClick="onButtonClick" />
-    </LinearLayout>
+            android:layout_ignoreOffset="true"
+            android:layout_alwaysShow="true"
+            android:layout_hasNestedScrollIndicator="true"
+            android:gravity="end|center_vertical"
+            android:orientation="horizontal"
+            android:layoutDirection="locale"
+            android:measureWithLargestChild="true"
+            android:paddingTop="@dimen/resolver_button_bar_spacing"
+            android:paddingBottom="@dimen/resolver_button_bar_spacing"
+            android:paddingStart="@dimen/resolver_edge_margin"
+            android:paddingEnd="@dimen/resolver_small_margin"
+            android:elevation="@dimen/resolver_elevation">
+
+            <Button
+                android:id="@+id/button_once"
+                android:layout_width="wrap_content"
+                android:layout_gravity="start"
+                android:maxLines="2"
+                style="?attr/buttonBarButtonStyle"
+                android:fontFamily="@android:string/config_headlineFontFamilyMedium"
+                android:layout_height="wrap_content"
+                android:textAllCaps="false"
+                android:enabled="false"
+                android:text="@string/activity_resolver_use_once"
+                android:onClick="onButtonClick" />
 
+            <Button
+                android:id="@+id/button_always"
+                android:layout_width="wrap_content"
+                android:layout_gravity="end"
+                android:maxLines="2"
+                style="?attr/buttonBarButtonStyle"
+                android:fontFamily="@android:string/config_headlineFontFamilyMedium"
+                android:textAllCaps="false"
+                android:layout_height="wrap_content"
+                android:enabled="false"
+                android:text="@string/activity_resolver_use_always"
+                android:onClick="onButtonClick" />
+        </LinearLayout>-->
+
+    </LinearLayout>
 </com.android.internal.widget.ResolverDrawerLayout>
diff --git a/frameworks/base/core/res/res/layout/resolver_list_with_default.xml b/frameworks/base/core/res/res/layout/resolver_list_with_default.xml
old mode 100644
new mode 100755
index dbba0b7..a5bf443
--- a/frameworks/base/core/res/res/layout/resolver_list_with_default.xml
+++ b/frameworks/base/core/res/res/layout/resolver_list_with_default.xml
@@ -16,157 +16,185 @@
 * limitations under the License.
 */
 -->
-<com.android.internal.widget.ResolverDrawerLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
+<com.android.internal.widget.ResolverDrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    xmlns:tools="http://schemas.android.com/tools"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:maxWidth="@dimen/resolver_max_width"
-    android:maxCollapsedHeight="144dp"
+    android:maxCollapsedHeight="544dp"
     android:id="@id/contentPanel">
 
     <LinearLayout
-        android:layout_width="match_parent"
+        android:layout_width="480dp"
         android:layout_height="wrap_content"
-        android:layout_alwaysShow="true"
-        android:orientation="vertical"
-        android:background="@drawable/bottomsheet_background"
-        android:paddingTop="@dimen/resolver_small_margin"
-        android:elevation="@dimen/resolver_elevation">
-
+        android:background="@drawable/dialog_bg_shape_white"
+        android:orientation="vertical">
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:paddingBottom="@dimen/resolver_edge_margin"
-            android:paddingEnd="@dimen/resolver_edge_margin">
-            <ImageView
-                android:id="@+id/icon"
-                android:layout_width="@dimen/resolver_icon_size"
-                android:layout_height="@dimen/resolver_icon_size"
-                android:layout_gravity="start|top"
-                android:layout_marginStart="@dimen/resolver_icon_margin"
-                android:src="@drawable/resolver_icon_placeholder"
-                android:scaleType="fitCenter" />
-
-            <TextView
-                android:id="@+id/title"
-                android:layout_width="0dp"
-                android:layout_weight="1"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="@dimen/resolver_icon_margin"
-                android:textColor="?android:attr/textColorPrimary"
-                android:fontFamily="@android:string/config_headlineFontFamilyMedium"
-                android:textSize="16sp"
-                android:gravity="start|center_vertical"
-                android:paddingEnd="16dp" />
+            android:layout_alwaysShow="true"
+            android:orientation="vertical"
+            android:paddingTop="@dimen/resolver_small_margin"
+            android:elevation="@dimen/resolver_elevation">
 
             <LinearLayout
-                android:id="@+id/profile_button"
-                android:layout_width="wrap_content"
-                android:layout_height="48dp"
-                android:layout_marginTop="4dp"
-                android:layout_marginEnd="4dp"
-                android:paddingStart="8dp"
-                android:paddingEnd="8dp"
-                android:paddingTop="4dp"
-                android:paddingBottom="4dp"
-                android:focusable="true"
-                android:visibility="gone"
-                style="?attr/borderlessButtonStyle">
-
-                <ImageView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:paddingVertical="8dp"
+                android:gravity="center_vertical">
+                <com.android.internal.widget.RoundImageView
                     android:id="@+id/icon"
-                    android:layout_width="24dp"
-                    android:layout_height="24dp"
-                    android:layout_gravity="start|center_vertical"
-                    android:layout_marginEnd="?attr/listPreferredItemPaddingEnd"
-                    android:layout_marginTop="12dp"
-                    android:layout_marginBottom="12dp"
+                    android:layout_width="64dp"
+                    android:layout_height="64dp"
+                    android:layout_marginStart="@dimen/resolver_icon_margin"
+                    app:roundRadius="14dp"
+                    android:src="@drawable/resolver_icon_placeholder"
                     android:scaleType="fitCenter" />
 
                 <TextView
-                    android:id="@id/text1"
-                    android:layout_width="wrap_content"
+                    android:id="@+id/title"
+                    android:layout_width="0dp"
+                    android:layout_weight="1"
                     android:layout_height="wrap_content"
-                    android:layout_gravity="start|center_vertical"
-                    android:layout_marginEnd="?attr/listPreferredItemPaddingEnd"
-                    android:textAppearance="?attr/textAppearanceButton"
-                    android:textColor="?attr/textColorPrimary"
-                    android:minLines="1"
-                    android:maxLines="1"
-                    android:ellipsize="marquee" />
-            </LinearLayout>
-        </LinearLayout>
+                    android:layout_marginStart="25dp"
+                    android:textColor="?android:attr/textColorPrimary"
+                    android:fontFamily="@android:string/config_headlineFontFamilyMedium"
+                    android:textSize="21sp"
+                    android:gravity="start|center_vertical"
+                    android:paddingEnd="16dp" />
 
-        <LinearLayout
-            android:id="@+id/button_bar"
-            android:visibility="gone"
-            style="?attr/buttonBarStyle"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_alwaysShow="true"
-            android:gravity="end|center_vertical"
-            android:orientation="horizontal"
-            android:layoutDirection="locale"
-            android:measureWithLargestChild="true"
-            android:paddingTop="@dimen/resolver_button_bar_spacing"
-            android:paddingBottom="@dimen/resolver_button_bar_spacing"
-            android:paddingStart="@dimen/resolver_edge_margin"
-            android:paddingEnd="@dimen/resolver_small_margin"
-            android:elevation="@dimen/resolver_elevation">
+                <LinearLayout
+                    android:id="@+id/profile_button"
+                    android:layout_width="wrap_content"
+                    android:layout_height="48dp"
+                    android:layout_marginTop="4dp"
+                    android:layout_marginEnd="4dp"
+                    android:paddingStart="8dp"
+                    android:paddingEnd="8dp"
+                    android:paddingTop="4dp"
+                    android:paddingBottom="4dp"
+                    android:focusable="true"
+                    android:visibility="gone"
+                    style="?attr/borderlessButtonStyle">
+
+                    <ImageView
+                        android:id="@+id/icon"
+                        android:layout_width="24dp"
+                        android:layout_height="24dp"
+                        android:layout_gravity="start|center_vertical"
+                        android:layout_marginEnd="?attr/listPreferredItemPaddingEnd"
+                        android:layout_marginTop="12dp"
+                        android:layout_marginBottom="12dp"
+                        android:scaleType="fitCenter" />
 
-            <Button
-                android:id="@+id/button_once"
-                android:layout_width="wrap_content"
-                android:layout_gravity="start"
-                android:maxLines="2"
-                style="?attr/buttonBarButtonStyle"
-                android:fontFamily="@android:string/config_headlineFontFamilyMedium"
+                    <TextView
+                        android:id="@id/text1"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="start|center_vertical"
+                        android:layout_marginEnd="?attr/listPreferredItemPaddingEnd"
+                        android:textAppearance="?attr/textAppearanceButton"
+                        android:textColor="?attr/textColorPrimary"
+                        android:textSize="24sp"
+                        android:minLines="1"
+                        android:maxLines="1"
+                        android:ellipsize="marquee" />
+                </LinearLayout>
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/button_bar"
+                android:visibility="gone"
+                tools:visibility="visible"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:enabled="false"
-                android:textAllCaps="false"
-                android:text="@string/activity_resolver_use_once"
-                android:onClick="onButtonClick" />
+                android:layout_gravity="center_horizontal"
+                android:gravity="center_horizontal"
+                android:orientation="horizontal"
+                android:paddingHorizontal="23dp"
+                android:paddingVertical="10dp">
+
+                <Button
+                    android:id="@+id/button_once"
+                    style="@style/BaseDialogButtonCustom"
+                    android:text="@string/activity_resolver_use_once"
+                    android:onClick="onButtonClick"
+                    android:textAllCaps="false"
+                    android:enabled="false"
+                    android:maxLines="2"
+                    />
 
-            <Button
-                android:id="@+id/button_always"
-                android:layout_width="wrap_content"
-                android:layout_gravity="end"
-                android:maxLines="2"
-                style="?attr/buttonBarButtonStyle"
-                android:fontFamily="@android:string/config_headlineFontFamilyMedium"
+                <Button
+                    android:id="@+id/button_always"
+                    style="@style/BaseDialogButtonCustom"
+                    android:text="@string/activity_resolver_use_always"
+                    android:onClick="onButtonClick"
+                    android:textAllCaps="false"
+                    android:enabled="false"
+                    android:maxLines="2"
+                    />
+            </LinearLayout>
+
+            <!--<LinearLayout
+                android:id="@+id/button_bar"
+                android:visibility="gone"
+                style="?attr/buttonBarStyle"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:enabled="false"
-                android:textAllCaps="false"
-                android:text="@string/activity_resolver_use_always"
-                android:onClick="onButtonClick" />
+                android:layout_alwaysShow="true"
+                android:gravity="end|center_vertical"
+                android:orientation="horizontal"
+                android:layoutDirection="locale"
+                android:measureWithLargestChild="true"
+                android:paddingTop="@dimen/resolver_button_bar_spacing"
+                android:paddingBottom="@dimen/resolver_button_bar_spacing"
+                android:paddingStart="@dimen/resolver_edge_margin"
+                android:paddingEnd="@dimen/resolver_small_margin"
+                android:elevation="@dimen/resolver_elevation">
+
+                <Button
+                    android:id="@+id/button_once"
+                    android:layout_width="wrap_content"
+                    android:layout_gravity="start"
+                    android:maxLines="2"
+                    style="?attr/buttonBarButtonStyle"
+                    android:fontFamily="@android:string/config_headlineFontFamilyMedium"
+                    android:layout_height="wrap_content"
+                    android:enabled="false"
+                    android:textAllCaps="false"
+                    android:text="@string/activity_resolver_use_once"
+                    android:onClick="onButtonClick" />
+
+                <Button
+                    android:id="@+id/button_always"
+                    android:layout_width="wrap_content"
+                    android:layout_gravity="end"
+                    android:maxLines="2"
+                    style="?attr/buttonBarButtonStyle"
+                    android:fontFamily="@android:string/config_headlineFontFamilyMedium"
+                    android:layout_height="wrap_content"
+                    android:enabled="false"
+                    android:textAllCaps="false"
+                    android:text="@string/activity_resolver_use_always"
+                    android:onClick="onButtonClick" />
+            </LinearLayout>-->
         </LinearLayout>
+
+        <ListView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:id="@+id/resolver_list"
+            android:clipToPadding="false"
+            android:elevation="@dimen/resolver_elevation"
+            android:nestedScrollingEnabled="true"
+            android:scrollbarStyle="outsideOverlay"
+            android:scrollIndicators="top|bottom"
+            android:divider="?attr/dividerVertical"
+            android:footerDividersEnabled="false"
+            android:headerDividersEnabled="false"
+            android:dividerHeight="1dp" />
     </LinearLayout>
 
-    <View
-        android:layout_alwaysShow="true"
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="?attr/colorBackgroundFloating"
-        android:foreground="?attr/dividerVertical" />
-    <ListView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:id="@+id/resolver_list"
-        android:clipToPadding="false"
-        android:background="?attr/colorBackgroundFloating"
-        android:elevation="@dimen/resolver_elevation"
-        android:nestedScrollingEnabled="true"
-        android:scrollbarStyle="outsideOverlay"
-        android:scrollIndicators="top|bottom"
-        android:divider="?attr/dividerVertical"
-        android:footerDividersEnabled="false"
-        android:headerDividersEnabled="false"
-        android:dividerHeight="1dp" />
-    <View
-        android:layout_alwaysShow="true"
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="?attr/colorBackgroundFloating"
-        android:foreground="?attr/dividerVertical" />
 </com.android.internal.widget.ResolverDrawerLayout>
diff --git a/frameworks/base/core/res/res/values/attrs.xml b/frameworks/base/core/res/res/values/attrs.xml
index 154f100..a9e0f88 100755
--- a/frameworks/base/core/res/res/values/attrs.xml
+++ b/frameworks/base/core/res/res/values/attrs.xml
@@ -9128,4 +9128,14 @@
     </declare-styleable>
 
     <attr name="autoSizePresetSizes" />
+
+    <declare-styleable name="RoundImageView">
+        <attr name="imageBorderWidth" format="dimension" />
+        <attr name="roundRadius" format="dimension" />
+        <attr name="leftTopRadius" format="dimension" />
+        <attr name="rightTopRadius" format="dimension" />
+        <attr name="rightBottomRadius" format="dimension" />
+        <attr name="leftBottomRadius" format="dimension" />
+    </declare-styleable>
+
 </resources>
diff --git a/frameworks/base/core/res/res/values/styles.xml b/frameworks/base/core/res/res/values/styles.xml
old mode 100644
new mode 100755
index 18f7e48..170e965
--- a/frameworks/base/core/res/res/values/styles.xml
+++ b/frameworks/base/core/res/res/values/styles.xml
@@ -1443,6 +1443,19 @@ please see styles_device_defaults.xml.
         <item name="drawableTintMode">src_atop</item>
     </style>
 
+    <!--modified by xxxx-->
+    <style name="BaseDialogButtonCustom" >
+        <item name="android:layout_width">207dp</item>
+        <item name="android:layout_height">58dp</item>
+        <item name="android:layout_weight">1</item>
+        <item name="android:gravity">center</item>
+        <!--<item name="android:layout_marginLeft">20dp</item>
+        <item name="android:layout_marginRight">20dp</item>-->
+        <item name="android:textSize">24sp</item>
+        <item name="android:background">@drawable/dialog_selector_button</item>
+        <item name="android:textColor">@drawable/dialog_confirm_button_text_colors</item>
+    </style>
+
     <!-- Wifi dialog styles -->
     <!-- @hide -->
     <style name="wifi_item">
diff --git a/frameworks/base/core/res/res/values/symbols.xml b/frameworks/base/core/res/res/values/symbols.xml
index 3a57924..457d99d 100755
--- a/frameworks/base/core/res/res/values/symbols.xml
+++ b/frameworks/base/core/res/res/values/symbols.xml
@@ -3027,6 +3027,9 @@
 
   <java-symbol type="layout" name="app_anr_dialog" />
   <java-symbol type="layout" name="notification_template_material_messaging" />
+<!--  fied -->
+  <java-symbol type="drawable" name="dialog_bg_shape_white" />
+
 
   <java-symbol type="id" name="aerr_wait" />
 
diff --git a/frameworks/base/core/res/res/values/themes_material.xml b/frameworks/base/core/res/res/values/themes_material.xml
old mode 100644
new mode 100755
diff --git a/frameworks/base/services/core/java/com/android/server/am/AppErrorDialog.java b/frameworks/base/services/core/java/com/android/server/am/AppErrorDialog.java
old mode 100644
new mode 100755
diff --git a/frameworks/base/services/core/java/com/android/server/am/AppNotRespondingDialog.java b/frameworks/base/services/core/java/com/android/server/am/AppNotRespondingDialog.java
old mode 100644
new mode 100755
index cb76e2f..0a77569
--- a/frameworks/base/services/core/java/com/android/server/am/AppNotRespondingDialog.java
+++ b/frameworks/base/services/core/java/com/android/server/am/AppNotRespondingDialog.java
@@ -19,20 +19,26 @@ package com.android.server.am;
 import android.content.pm.ApplicationInfo;
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto;
+import com.android.internal.util.ImageUtils;
 
 import android.content.ActivityNotFoundException;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.PackageManager;
 import android.content.res.Resources;
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
 import android.text.BidiFormatter;
 import android.util.Slog;
+import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.view.ViewGroup;
 import android.view.WindowManager;
 import android.widget.FrameLayout;
+import android.widget.ImageView;
 import android.widget.TextView;
 
 final class AppNotRespondingDialog extends BaseErrorDialog implements View.OnClickListener {
@@ -48,6 +54,7 @@ final class AppNotRespondingDialog extends BaseErrorDialog implements View.OnCli
 
     private final ActivityManagerService mService;
     private final ProcessRecord mProc;
+    private final ApplicationInfo mAppInfo;
 
     public AppNotRespondingDialog(ActivityManagerService service, Context context, Data data) {
         super(context);
@@ -56,6 +63,8 @@ final class AppNotRespondingDialog extends BaseErrorDialog implements View.OnCli
         mProc = data.proc;
         Resources res = context.getResources();
 
+        mAppInfo = data.aInfo;
+
         setCancelable(false);
 
         int resid;
@@ -84,9 +93,10 @@ final class AppNotRespondingDialog extends BaseErrorDialog implements View.OnCli
 
         BidiFormatter bidi = BidiFormatter.getInstance();
 
-        setTitle(name2 != null
+        String title = name2 != null
                 ? res.getString(resid, bidi.unicodeWrap(name1.toString()), bidi.unicodeWrap(name2.toString()))
-                : res.getString(resid, bidi.unicodeWrap(name1.toString())));
+                : res.getString(resid, bidi.unicodeWrap(name1.toString()));
+        setTitle(title);
 
         if (data.aboveSystem) {
             getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR);
@@ -116,6 +126,9 @@ final class AppNotRespondingDialog extends BaseErrorDialog implements View.OnCli
         wait.setOnClickListener(this);
 
         findViewById(com.android.internal.R.id.customPanel).setVisibility(View.VISIBLE);
+
+        // modified by 


----------


+        setIcon(ImageUtils.getAppIcon(getContext(), mAppInfo.packageName));
     }
 
     @Override
diff --git a/frameworks/base/services/core/java/com/android/server/am/BaseErrorDialog.java b/frameworks/base/services/core/java/com/android/server/am/BaseErrorDialog.java
old mode 100644
new mode 100755
index aabb587..2af9407
--- a/frameworks/base/services/core/java/com/android/server/am/BaseErrorDialog.java
+++ b/frameworks/base/services/core/java/com/android/server/am/BaseErrorDialog.java
@@ -16,15 +16,20 @@
 
 package com.android.server.am;
 
-import com.android.internal.R;
-
 import android.app.AlertDialog;
 import android.content.Context;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.Drawable;
 import android.os.Handler;
 import android.os.Message;
 import android.view.KeyEvent;
+import android.view.View;
 import android.view.WindowManager;
 import android.widget.Button;
+import android.widget.LinearLayout;
+
+import com.android.internal.R;
+import com.android.internal.util.ImageUtils;
 
 public class BaseErrorDialog extends AlertDialog {
     private static final int ENABLE_BUTTONS = 0;
@@ -42,12 +47,33 @@ public class BaseErrorDialog extends AlertDialog {
         WindowManager.LayoutParams attrs = getWindow().getAttributes();
         attrs.setTitle("Error Dialog");
         getWindow().setAttributes(attrs);
+
+        setCustomParam();
+    }
+
+    private void setCustomParam() {
+        getWindow().setBackgroundDrawableResource(android.R.color.transparent);
+        getWindow().getDecorView().setSystemUiVisibility(
+                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
+                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
+                        | View.SYSTEM_UI_FLAG_LOW_PROFILE
+                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+                        | View.SYSTEM_UI_FLAG_FULLSCREEN
+                        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
+
+        getWindow().setLayout(ImageUtils.dp2px(getContext(), 480), LinearLayout.LayoutParams.WRAP_CONTENT);
+        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
     }
 
     public void onStart() {
         super.onStart();
         mHandler.sendEmptyMessage(DISABLE_BUTTONS);
         mHandler.sendMessageDelayed(mHandler.obtainMessage(ENABLE_BUTTONS), 1000);
+
+        // modified by xxx
+        findViewById(com.android.internal.R.id.parentPanel).setBackgroundResource(
+                com.android.internal.R.drawable.dialog_bg_shape_white);
     }
 
     public boolean dispatchKeyEvent(KeyEvent event) {
diff --git a/frameworks/base/services/core/java/com/android/server/display/DisplayPowerController.java b/frameworks/base/services/core/java/com/android/server/display/DisplayPowerController.java
old mode 100644
new mode 100755
index 5804fc8..93c636e
--- a/frameworks/base/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/frameworks/base/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -46,6 +46,7 @@ import android.os.Trace;
 import android.os.UserHandle;
 import android.provider.Settings;
 import android.text.TextUtils;
+import android.util.Log;
 import android.util.MathUtils;
 import android.util.Slog;
 import android.util.TimeUtils;
@@ -404,7 +405,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
         final Resources resources = context.getResources();
         final int screenBrightnessSettingMinimum = clampAbsoluteBrightness(resources.getInteger(
                 com.android.internal.R.integer.config_screenBrightnessSettingMinimum));
-
         mScreenBrightnessDozeConfig = clampAbsoluteBrightness(resources.getInteger(
                 com.android.internal.R.integer.config_screenBrightnessDoze));
 
@@ -986,9 +986,11 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
         // timeout is about to expire.
         if (mPowerRequest.policy == DisplayPowerRequest.POLICY_DIM) {
             if (brightness > mScreenBrightnessRangeMinimum) {
-                brightness = Math.max(Math.min(brightness - SCREEN_DIM_MINIMUM_REDUCTION,
-                        mScreenBrightnessDimConfig), mScreenBrightnessRangeMinimum);
-                mBrightnessReasonTemp.addModifier(BrightnessReason.MODIFIER_DIMMED);
+                // modified by xxx
+//                brightness = Math.max(Math.min(brightness - SCREEN_DIM_MINIMUM_REDUCTION,
+//                        mScreenBrightnessDimConfig), mScreenBrightnessRangeMinimum);
+//                brightness = Math.min(mScreenBrightnessDimConfig, mScreenBrightnessRangeMinimum);
+//                mBrightnessReasonTemp.addModifier(BrightnessReason.MODIFIER_DIMMED);
             }
             if (!mAppliedDimming) {
                 slowChange = false;

//frameworks/base/core/java/com/android/internal/app/ResolverActivity.java
protected void onCreate(Bundle savedInstanceState, Intent intent,
                        CharSequence title, int defaultTitleRes, Intent[] initialIntents,
                        List<ResolveInfo> rList, boolean supportsAlwaysUseOption) {
    setTheme(R.style.Theme_DeviceDefault_Resolver);
    super.onCreate(savedInstanceState);

    // Determine whether we should show that intent is forwarded
    // from managed profile to owner or other way around.
    setProfileSwitchMessageId(intent.getContentUserHint());

    try {
        mLaunchedFromUid = ActivityTaskManager.getService().getLaunchedFromUid(
            getActivityToken());
    } catch (RemoteException e) {
        mLaunchedFromUid = -1;
    }

    if (mLaunchedFromUid < 0 || UserHandle.isIsolated(mLaunchedFromUid)) {
        // Gulp!
        finish();
        return;
    }

    mPm = getPackageManager();

    mPackageMonitor.register(this, getMainLooper(), false);
    mRegistered = true;
    mReferrerPackage = getReferrerPackageName();

    final ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    mIconDpi = am.getLauncherLargeIconDensity();

    // Add our initial intent as the first item, regardless of what else has already been added.
    mIntents.add(0, new Intent(intent));
    mTitle = title;
    mDefaultTitleResId = defaultTitleRes;

    mUseLayoutForBrowsables = getTargetIntent() == null
        ? false
        : isHttpSchemeAndViewAction(getTargetIntent());

    mSupportsAlwaysUseOption = supportsAlwaysUseOption;

    if (configureContentView(mIntents, initialIntents, rList)) {
        return;
    }

    final ResolverDrawerLayout rdl = findViewById(R.id.contentPanel);
    if (rdl != null) {
        rdl.setOnDismissedListener(new ResolverDrawerLayout.OnDismissedListener() {
            @Override
            public void onDismissed() {
                finish();
            }
        });
        if (isVoiceInteraction()) {
            rdl.setCollapsed(false);
        }

        rdl.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                                  | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
        rdl.setOnApplyWindowInsetsListener(this::onApplyWindowInsets);

        mResolverDrawerLayout = rdl;
    }

    mProfileView = findViewById(R.id.profile_button);
    if (mProfileView != null) {
        mProfileView.setOnClickListener(this::onProfileClick);
        bindProfileView();
    }

    initSuspendedColorMatrix();

    final Set<String> categories = intent.getCategories();
    MetricsLogger.action(this, mAdapter.hasFilteredItem()
                         ? MetricsProto.MetricsEvent.ACTION_SHOW_APP_DISAMBIG_APP_FEATURED
                         : MetricsProto.MetricsEvent.ACTION_SHOW_APP_DISAMBIG_NONE_FEATURED,
                         intent.getAction() + ":" + intent.getType() + ":"
                         + (categories != null ? Arrays.toString(categories.toArray()) : ""));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值