系统选择框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() {
+
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;
+ }
+
@@ -682,9 +736,11 @@ public class AlertController {
if (mIconId != 0) {
- mIconView.setImageResource(mIconId);
+ setIconView(mIconView, mIconId);
+
} else if (mIcon != null) {
- mIconView.setImageDrawable(mIcon);
+ setIconView(mIconView, mIcon);
+
} else {
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 {
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
+
+ String packageName = info.getResolveInfo().activityInfo.packageName;
+ holder.icon.setImageDrawable(ImageUtils.getAppIcon(getApplicationContext(), packageName));
+
}
}
-
@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) {
+
+ }
+ }
+
+
+ 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(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);
+
+
----------
+ 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);
+
+
+ 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
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);
+
+
+
+
+
}
if (!mAppliedDimming) {
slowChange = false;
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);
setProfileSwitchMessageId(intent.getContentUserHint());
try {
mLaunchedFromUid = ActivityTaskManager.getService().getLaunchedFromUid(
getActivityToken());
} catch (RemoteException e) {
mLaunchedFromUid = -1;
}
if (mLaunchedFromUid < 0 || UserHandle.isIsolated(mLaunchedFromUid)) {
finish();
return;
}
mPm = getPackageManager();
mPackageMonitor.register(this, getMainLooper(), false);
mRegistered = true;
mReferrerPackage = getReferrerPackageName();
final ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
mIconDpi = am.getLauncherLargeIconDensity();
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()) : ""));
}