Merge "Update dialog UI and search view hint font" into qt-dev
am: 71513f91c3
Change-Id: I7561bfdb9dc60fe66c4825dd42be150be0ac2539
diff --git a/res/values-night/styles.xml b/res/values-night/styles.xml
deleted file mode 100644
index b5fa036..0000000
--- a/res/values-night/styles.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2013 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android">
- <style name="BottomSheetDialogStyle" parent="@style/Theme.MaterialComponents.BottomSheetDialog">
- <item name="android:colorBackground">@color/app_background_color</item>
- <item name="android:statusBarColor">@android:color/transparent</item>
- <item name="android:windowIsFloating">false</item>
- <item name="bottomSheetStyle">@style/BottomSheet</item>
- <item name="colorControlHighlight">@color/ripple_material_dark</item>
- </style>
-</resources>
diff --git a/res/values-night/themes.xml b/res/values-night/themes.xml
index 81d0af1..af2d4b3 100644
--- a/res/values-night/themes.xml
+++ b/res/values-night/themes.xml
@@ -41,29 +41,4 @@
<item name="android:windowSoftInputMode">stateUnspecified|adjustUnspecified</item>
</style>
-
- <style name="DocumentsDefaultTheme" parent="@style/Theme.MaterialComponents.NoActionBar">
-
- <!-- This only used by support lib, not allow to overlay -->
- <item name="windowActionBar">false</item>
- <item name="windowActionModeOverlay">true</item>
-
- <!-- For material design widget, chips, buttons, not support attr-->
- <item name="colorPrimary">@color/primary</item>
- <item name="colorAccent">@color/primary</item>
-
- <item name="gridItemTint">@color/item_doc_grid_tint</item>
-
- <item name="actionBarTheme">@style/ActionBarTheme</item>
- <item name="actionModeStyle">@style/ActionModeStyle</item>
- <item name="actionOverflowButtonStyle">@style/OverflowButtonStyle</item>
- <item name="actionOverflowMenuStyle">@style/OverflowMenuStyle</item>
- <item name="alertDialogTheme">@style/AlertDialogTheme</item>
- <item name="bottomSheetDialogTheme">@style/BottomSheetDialogStyle</item>
- <item name="materialButtonStyle">@style/MaterialButton</item>
- <item name="materialButtonOutlinedStyle">@style/MaterialOutlinedButton</item>
- <item name="materialCardViewStyle">@style/CardViewStyle</item>
- <item name="queryBackground">@color/menu_search_background</item>
- <item name="snackbarButtonStyle">@style/SnackbarButtonStyle</item>
- </style>
</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 5e31cd3..10f9b05 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -43,11 +43,11 @@
<item name="android:textColor">?android:colorPrimary</item>
</style>
- <style name="BottomSheetDialogStyle" parent="@Theme.MaterialComponents.Light.BottomSheetDialog">
- <item name="android:colorBackground">@color/app_background_color</item>
- <item name="android:windowLightNavigationBar">true</item>
- <item name="android:statusBarColor">@android:color/transparent</item>
- <item name="android:navigationBarColor">?android:attr/colorBackground</item>
+ <style name="AutoCompleteTextViewStyle" parent="@style/Widget.AppCompat.AutoCompleteTextView">
+ <item name="android:textAppearance">@style/AutoCompleteText</item>
+ </style>
+
+ <style name="BottomSheetDialogStyle" parent="@style/ThemeOverlay.MaterialComponents.BottomSheetDialog">
<item name="android:windowIsFloating">false</item>
<item name="bottomSheetStyle">@style/BottomSheet</item>
<item name="colorControlHighlight">@color/ripple_material_light</item>
@@ -68,6 +68,12 @@
<item name="android:overlapAnchor">false</item>
</style>
+ <style name="MaterialAlertDialogTitleStyle" parent="@style/MaterialAlertDialog.MaterialComponents.Title.Text.CenterStacked">
+ <item name="android:textColor">?attr/colorOnSurface</item>
+ <item name="android:textSize">20sp</item>
+ <item name="fontFamily">@string/config_fontFamilyMedium</item>
+ </style>
+
<style name="MaterialButton" parent="@style/Widget.MaterialComponents.Button.UnelevatedButton">
<item name="android:textAppearance">@style/MaterialButtonTextAppearance</item>
</style>
@@ -84,4 +90,11 @@
<item name="buttonBarPositiveButtonStyle">@style/DialogTextButton</item>
<item name="buttonBarNegativeButtonStyle">@style/DialogTextButton</item>
</style>
+
+ <style name="MaterialAlertDialogTheme" parent="@style/ThemeOverlay.MaterialComponents.MaterialAlertDialog.Centered">
+ <item name="android:dialogCornerRadius">@dimen/grid_item_radius</item>
+ <item name="buttonBarPositiveButtonStyle">@style/DialogTextButton</item>
+ <item name="buttonBarNegativeButtonStyle">@style/DialogTextButton</item>
+ <item name="materialAlertDialogTitleTextStyle">@style/MaterialAlertDialogTitleStyle</item>
+ </style>
</resources>
diff --git a/res/values/styles_text.xml b/res/values/styles_text.xml
index 6512d7a..5e3d57c 100644
--- a/res/values/styles_text.xml
+++ b/res/values/styles_text.xml
@@ -21,6 +21,7 @@
<style name="SortList" parent="@style/TextAppearance.AppCompat.Subhead">
<item name="android:textColor">@color/sort_list_text</item>
+ <item name="fontFamily">@string/config_fontFamilyMedium</item>
</style>
<style name="SearchBarTitle" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Subtitle">
@@ -40,6 +41,10 @@
<item name="fontFamily">@string/config_fontFamily</item>
</style>
+ <style name="AutoCompleteText" parent="@style/TextAppearance.AppCompat.Medium">
+ <item name="fontFamily">@string/config_fontFamily</item>
+ </style>
+
<style name="CardPrimaryText" parent="@style/TextAppearance.AppCompat.Subhead">
<item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="android:textSize">14sp</item>
diff --git a/res/values/themes.xml b/res/values/themes.xml
index 644c6bb..6667793 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -46,7 +46,7 @@
</style>
- <style name="DocumentsDefaultTheme" parent="@style/Theme.MaterialComponents.Light.NoActionBar">
+ <style name="DocumentsDefaultTheme" parent="@style/Theme.MaterialComponents.DayNight.NoActionBar">
<!-- This only used by support lib, not allow to overlay -->
<item name="windowActionBar">false</item>
@@ -64,10 +64,12 @@
<item name="actionOverflowButtonStyle">@style/OverflowButtonStyle</item>
<item name="actionOverflowMenuStyle">@style/OverflowMenuStyle</item>
<item name="alertDialogTheme">@style/AlertDialogTheme</item>
+ <item name="autoCompleteTextViewStyle">@style/AutoCompleteTextViewStyle</item>
<item name="bottomSheetDialogTheme">@style/BottomSheetDialogStyle</item>
<item name="materialButtonStyle">@style/MaterialButton</item>
<item name="materialButtonOutlinedStyle">@style/MaterialOutlinedButton</item>
<item name="materialCardViewStyle">@style/CardViewStyle</item>
+ <item name="materialAlertDialogTheme">@style/MaterialAlertDialogTheme</item>
<item name="queryBackground">@color/menu_search_background</item>
<item name="snackbarButtonStyle">@style/SnackbarButtonStyle</item>
</style>
diff --git a/src/com/android/documentsui/CreateDirectoryFragment.java b/src/com/android/documentsui/CreateDirectoryFragment.java
index dd7c2b5..756b555 100644
--- a/src/com/android/documentsui/CreateDirectoryFragment.java
+++ b/src/com/android/documentsui/CreateDirectoryFragment.java
@@ -32,28 +32,28 @@
import android.os.FileUtils;
import android.provider.DocumentsContract;
import android.provider.DocumentsContract.Document;
+import android.util.Log;
+import android.view.KeyEvent;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.inputmethod.EditorInfo;
+import android.widget.EditText;
+import android.widget.TextView;
+import android.widget.TextView.OnEditorActionListener;
+
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.FragmentManager;
-import android.util.Log;
-import android.view.KeyEvent;
-import android.view.inputmethod.EditorInfo;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.EditText;
-import android.widget.TextView;
-import android.widget.TextView.OnEditorActionListener;
-
-import com.google.android.material.snackbar.Snackbar;
-import com.google.android.material.textfield.TextInputLayout;
-
import com.android.documentsui.base.DocumentInfo;
import com.android.documentsui.base.Shared;
-import com.android.documentsui.R;
import com.android.documentsui.ui.Snackbars;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+import com.google.android.material.snackbar.Snackbar;
+import com.google.android.material.textfield.TextInputLayout;
+
/**
* Dialog to create a new directory.
*/
@@ -70,7 +70,7 @@
final Context context = getActivity();
final ContentResolver resolver = context.getContentResolver();
- final AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ final MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(context);
final LayoutInflater dialogInflater = LayoutInflater.from(builder.getContext());
final View view = dialogInflater.inflate(R.layout.dialog_file_name, null, false);
diff --git a/src/com/android/documentsui/OperationDialogFragment.java b/src/com/android/documentsui/OperationDialogFragment.java
index 7b36599..bc98662 100644
--- a/src/com/android/documentsui/OperationDialogFragment.java
+++ b/src/com/android/documentsui/OperationDialogFragment.java
@@ -16,24 +16,25 @@
package com.android.documentsui;
-import androidx.annotation.IntDef;
import android.app.Dialog;
import android.content.DialogInterface;
import android.net.Uri;
import android.os.Bundle;
-import androidx.appcompat.app.AlertDialog;
+import android.text.Html;
+
+import androidx.annotation.IntDef;
import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
-import android.text.Html;
-
import com.android.documentsui.base.DocumentInfo;
import com.android.documentsui.base.DocumentStack;
import com.android.documentsui.services.FileOperationService;
import com.android.documentsui.services.FileOperationService.OpType;
import com.android.documentsui.ui.MessageBuilder;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
@@ -93,7 +94,7 @@
final ArrayList<DocumentInfo> docList = getArguments().getParcelableArrayList(
FileOperationService.EXTRA_FAILED_DOCS);
- final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ final MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(getActivity());
final String message = new MessageBuilder(getContext()).generateListMessage(
dialogType, operationType, docList, uriList);
diff --git a/src/com/android/documentsui/dirlist/RenameDocumentFragment.java b/src/com/android/documentsui/dirlist/RenameDocumentFragment.java
index e9ccbcc..d78f10a 100644
--- a/src/com/android/documentsui/dirlist/RenameDocumentFragment.java
+++ b/src/com/android/documentsui/dirlist/RenameDocumentFragment.java
@@ -23,11 +23,6 @@
import android.content.DialogInterface;
import android.os.AsyncTask;
import android.os.Bundle;
-import androidx.annotation.Nullable;
-import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.DialogFragment;
-import androidx.fragment.app.FragmentManager;
-
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
@@ -38,8 +33,10 @@
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
-import com.google.android.material.snackbar.Snackbar;
-import com.google.android.material.textfield.TextInputLayout;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.FragmentManager;
import com.android.documentsui.BaseActivity;
import com.android.documentsui.Metrics;
@@ -48,6 +45,10 @@
import com.android.documentsui.base.Shared;
import com.android.documentsui.ui.Snackbars;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+import com.google.android.material.snackbar.Snackbar;
+import com.google.android.material.textfield.TextInputLayout;
+
/**
* Dialog to rename file or directory.
*/
@@ -72,7 +73,7 @@
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Context context = getActivity();
- AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(context);
LayoutInflater dialogInflater = LayoutInflater.from(builder.getContext());
View view = dialogInflater.inflate(R.layout.dialog_file_name, null, false);
diff --git a/src/com/android/documentsui/picker/ConfirmFragment.java b/src/com/android/documentsui/picker/ConfirmFragment.java
index 7565be0..f56434d 100644
--- a/src/com/android/documentsui/picker/ConfirmFragment.java
+++ b/src/com/android/documentsui/picker/ConfirmFragment.java
@@ -25,7 +25,6 @@
import android.provider.DocumentsContract;
import android.text.TextUtils;
-import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
@@ -36,6 +35,8 @@
import com.android.documentsui.base.DocumentInfo;
import com.android.documentsui.base.Shared;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
/**
* Used to confirm with user that it's OK to overwrite an existing file.
*/
@@ -66,7 +67,7 @@
mType = arg.getInt(CONFIRM_TYPE);
final PickResult pickResult = ((PickActivity) getActivity()).getInjector().pickResult;
- final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ final MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(getActivity());
switch (mType) {
case TYPE_OVERWRITE:
String message = String.format(
diff --git a/src/com/android/documentsui/ui/DialogController.java b/src/com/android/documentsui/ui/DialogController.java
index 27656c3..8e96739 100644
--- a/src/com/android/documentsui/ui/DialogController.java
+++ b/src/com/android/documentsui/ui/DialogController.java
@@ -23,18 +23,19 @@
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentManager;
-import com.google.android.material.snackbar.Snackbar;
-
import com.android.documentsui.R;
import com.android.documentsui.base.ConfirmationCallback;
import com.android.documentsui.base.DocumentInfo;
import com.android.documentsui.base.Features;
import com.android.documentsui.picker.ConfirmFragment;
import com.android.documentsui.services.FileOperation;
-import com.android.documentsui.services.FileOperationService.OpType;
import com.android.documentsui.services.FileOperationService;
-import com.android.documentsui.services.FileOperations.Callback.Status;
+import com.android.documentsui.services.FileOperationService.OpType;
import com.android.documentsui.services.FileOperations;
+import com.android.documentsui.services.FileOperations.Callback.Status;
+
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+import com.google.android.material.snackbar.Snackbar;
import java.util.List;
@@ -86,7 +87,7 @@
// but as a simple runtime dialog. So rotating a device with an
// active delete dialog...results in that dialog disappearing.
// We can do better, but don't have cycles for it now.
- final AlertDialog alertDialog = new AlertDialog.Builder(mActivity)
+ final AlertDialog alertDialog = new MaterialAlertDialogBuilder(mActivity)
.setView(message)
.setPositiveButton(
android.R.string.ok,