diff --git a/app/src/main/java/net/gsantner/markor/activity/MainActivity.java b/app/src/main/java/net/gsantner/markor/activity/MainActivity.java index 1df6964b26..8a66ae9507 100644 --- a/app/src/main/java/net/gsantner/markor/activity/MainActivity.java +++ b/app/src/main/java/net/gsantner/markor/activity/MainActivity.java @@ -12,6 +12,7 @@ import android.app.Activity; import android.app.ActivityManager; import android.content.Intent; +import android.graphics.drawable.ColorDrawable; import android.os.Build; import android.os.Bundle; import android.text.TextUtils; @@ -24,7 +25,6 @@ import android.widget.Toast; import androidx.annotation.NonNull; -import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.recyclerview.widget.RecyclerView; @@ -33,6 +33,7 @@ import com.google.android.material.bottomnavigation.BottomNavigationView; import com.google.android.material.floatingactionbutton.FloatingActionButton; +import com.google.android.material.navigation.NavigationBarView; import net.gsantner.markor.BuildConfig; import net.gsantner.markor.R; @@ -101,6 +102,8 @@ public void onPageSelected(int position) { }); setSupportActionBar(findViewById(R.id.toolbar)); + applyActivityBarBackgroundColors(); + applyMainBottomTabBarAppearance(); optShowRate(); // Setup viewpager @@ -155,7 +158,7 @@ public void onActivityFirstTimeVisible() { @Override public Integer getNewNavigationBarColor() { - return ContextCompat.getColor(this, R.color.primary); + return _appSettings.getConfiguredBarBackgroundColor(); } @Override @@ -301,6 +304,7 @@ protected void onResume() { } _cu.setKeepScreenOn(this, _appSettings.isKeepScreenOn()); + applyMainBottomTabBarAppearance(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && _appSettings.isMultiWindowEnabled()) { setTaskDescription(new ActivityManager.TaskDescription(getString(R.string.app_name))); } @@ -329,6 +333,31 @@ public void onPostResume() { super.onPostResume(); } + private void applyMainBottomTabBarAppearance() { + if (_bottomNav == null) { + return; + } + + final boolean showTabTitles = _appSettings.isMainBottomBarTabTitlesShown(); + final int barColor = _appSettings.getConfiguredBarBackgroundColor(); + + _bottomNav.setBackgroundColor(barColor); + _bottomNav.setItemBackground(new ColorDrawable(barColor)); + _bottomNav.setLabelVisibilityMode(showTabTitles + ? NavigationBarView.LABEL_VISIBILITY_LABELED + : NavigationBarView.LABEL_VISIBILITY_UNLABELED); + applyMainBottomTabBarMinHeight(showTabTitles); + } + + private void applyMainBottomTabBarMinHeight(final boolean showTabTitles) { + final int minHeight = getResources().getDimensionPixelSize(showTabTitles + ? R.dimen.main_bottom_bar_min_height_labeled + : R.dimen.main_bottom_bar_min_height_unlabeled); + if (_bottomNav.getMinimumHeight() != minHeight) { + _bottomNav.setMinimumHeight(minHeight); + } + } + // Cycle between recent, favourite, and current public boolean onLongClickFab(View view) { if (_notebook != null) { diff --git a/app/src/main/java/net/gsantner/markor/activity/MarkorBaseActivity.java b/app/src/main/java/net/gsantner/markor/activity/MarkorBaseActivity.java index 23f10744cb..b5acea0892 100644 --- a/app/src/main/java/net/gsantner/markor/activity/MarkorBaseActivity.java +++ b/app/src/main/java/net/gsantner/markor/activity/MarkorBaseActivity.java @@ -7,6 +7,7 @@ import android.view.WindowManager; import androidx.annotation.Nullable; +import androidx.appcompat.widget.Toolbar; import androidx.core.content.ContextCompat; import net.gsantner.markor.R; @@ -32,6 +33,12 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { } } + @Override + protected void onResume() { + super.onResume(); + applyActivityBarBackgroundColors(); + } + protected boolean onReceiveKeyPress(GsFragmentBase fragment, int keyCode, KeyEvent event) { return fragment.onReceiveKeyPress(keyCode, event); } @@ -49,6 +56,17 @@ public Integer getNewActivityBackgroundColor() { return _appSettings.getAppThemeName().contains("black") ? Color.BLACK : null; } + public void applyActivityBarBackgroundColors() { + final int backgroundColor = _appSettings.getConfiguredBarBackgroundColor(); + + final Toolbar toolbar = findViewById(R.id.toolbar); + if (toolbar != null) { + toolbar.setBackgroundColor(backgroundColor); + } + + _cu.setStatusbarColor(this, backgroundColor); + } + @Override protected AppSettings createAppSettingsInstance() { return new AppSettings(this); diff --git a/app/src/main/java/net/gsantner/markor/activity/SettingsActivity.java b/app/src/main/java/net/gsantner/markor/activity/SettingsActivity.java index 47b798248f..dd79866aad 100644 --- a/app/src/main/java/net/gsantner/markor/activity/SettingsActivity.java +++ b/app/src/main/java/net/gsantner/markor/activity/SettingsActivity.java @@ -12,7 +12,6 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; -import android.graphics.Color; import android.os.Build; import android.os.Bundle; import android.text.TextUtils; @@ -57,7 +56,6 @@ public static class RESULT { } public static int activityRetVal = RESULT.NOCHANGE; - private static int iconColor = Color.WHITE; protected Toolbar toolbar; @@ -72,7 +70,6 @@ public void onCreate(Bundle b) { // Custom code GsFontPreferenceCompat.additionalyCheckedFolder = new File(_appSettings.getNotebookDirectory(), ".app/fonts"); - iconColor = _cu.rcolor(this, R.color.primary_text); toolbar.setTitle(R.string.settings); setSupportActionBar(findViewById(R.id.toolbar)); toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp)); @@ -191,7 +188,6 @@ public void doUpdatePreferences() { R.string.pref_key__swipe_to_change_mode, R.string.pref_key__todotxt__hl_delay, R.string.pref_key__markdown__hl_delay_v2, - R.string.pref_key__theming_hide_system_statusbar, R.string.pref_key__tab_width_v2, R.string.pref_key__editor_line_spacing, }; @@ -223,6 +219,13 @@ protected void onPreferenceChanged(final SharedPreferences prefs, final String k } else if (eq(key, R.string.pref_key__theming_hide_system_statusbar)) { activityRetVal = RESULT.RESTART_REQ; _appSettings.setRecreateMainRequired(true); + } else if (eq(key, R.string.pref_key__ui_flat_top_bottom_bars)) { + final Activity activity = getActivity(); + if (activity instanceof MarkorBaseActivity) { + ((MarkorBaseActivity) activity).applyActivityBarBackgroundColors(); + } + } else if (eq(key, R.string.pref_key__file_browser_show_dividers)) { + _appSettings.setRecreateMainRequired(true); } else if (eq(key, R.string.pref_key__is_launcher_for_special_files_enabled)) { boolean extraLaunchersEnabled = prefs.getBoolean(key, false); new MarkorContextUtils(getActivity()).applySpecialLaunchersVisibility(getActivity(), extraLaunchersEnabled); diff --git a/app/src/main/java/net/gsantner/markor/format/todotxt/TodoTxtActionButtons.java b/app/src/main/java/net/gsantner/markor/format/todotxt/TodoTxtActionButtons.java index b6651d8cf9..56ba89708d 100644 --- a/app/src/main/java/net/gsantner/markor/format/todotxt/TodoTxtActionButtons.java +++ b/app/src/main/java/net/gsantner/markor/format/todotxt/TodoTxtActionButtons.java @@ -13,9 +13,14 @@ import android.content.DialogInterface; import android.os.Bundle; import android.text.Editable; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.StringRes; +import androidx.core.content.ContextCompat; import androidx.fragment.app.DialogFragment; import androidx.fragment.app.FragmentActivity; @@ -493,19 +498,64 @@ public DateFragment setCalendar(Calendar calendar) { public DatePickerDialog onCreateDialog(final Bundle savedInstanceState) { super.onCreateDialog(savedInstanceState); - final DatePickerDialog dialog = new DatePickerDialog(getContext(), _listener, _year, _month, _day); + final Context context = requireContext(); + final int backgroundColor = ContextCompat.getColor(context, R.color.background); + final int primaryTextColor = ContextCompat.getColor(context, R.color.primary_text); + final DatePickerDialog dialog = new DatePickerDialog( + context, + R.style.Theme_AppCompat_DayNight_Dialog_Rounded, + _listener, + _year, + _month, + _day + ); + styleDatePicker(dialog, backgroundColor, primaryTextColor); if (_message != null && !_message.isEmpty()) { - dialog.setMessage(_message); + dialog.setTitle(_message); } if (_extraListener != null && _extraLabel != null && !_extraLabel.isEmpty()) { dialog.setButton(DialogInterface.BUTTON_NEUTRAL, _extraLabel, _extraListener); } + dialog.setOnShowListener(dialogInterface -> { + styleDatePicker(dialog, backgroundColor, primaryTextColor); + final Window win = dialog.getWindow(); + if (win != null) { + win.setBackgroundDrawableResource(R.drawable.rounded_corner_background); + win.setLayout(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT); + } + }); + return dialog; } + private static void styleDatePicker(final DatePickerDialog dialog, final int backgroundColor, final int primaryTextColor) { + dialog.getDatePicker().setBackgroundColor(backgroundColor); + + setPlatformDatePickerViewColor(dialog, "date_picker_header", backgroundColor, primaryTextColor); + setPlatformDatePickerViewColor(dialog, "date_picker_header_year", backgroundColor, primaryTextColor); + setPlatformDatePickerViewColor(dialog, "date_picker_header_date", backgroundColor, primaryTextColor); + setPlatformDatePickerViewColor(dialog, "date_picker_header_day", backgroundColor, primaryTextColor); + } + + private static void setPlatformDatePickerViewColor( + final DatePickerDialog dialog, + final String name, + final int backgroundColor, + final int primaryTextColor + ) { + final int id = dialog.getContext().getResources().getIdentifier(name, "id", "android"); + final View view = id != 0 ? dialog.findViewById(id) : null; + if (view != null) { + view.setBackgroundColor(backgroundColor); + if (view instanceof TextView) { + ((TextView) view).setTextColor(primaryTextColor); + } + } + } + @Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/app/src/main/java/net/gsantner/markor/frontend/AttachLinkOrFileDialog.java b/app/src/main/java/net/gsantner/markor/frontend/AttachLinkOrFileDialog.java index 47db1d3b48..ab2d233087 100644 --- a/app/src/main/java/net/gsantner/markor/frontend/AttachLinkOrFileDialog.java +++ b/app/src/main/java/net/gsantner/markor/frontend/AttachLinkOrFileDialog.java @@ -10,6 +10,7 @@ package net.gsantner.markor.frontend; import android.app.Activity; +import android.content.res.ColorStateList; import android.content.Context; import android.content.DialogInterface; import android.text.Editable; @@ -24,6 +25,8 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.content.ContextCompat; +import androidx.core.widget.TextViewCompat; import androidx.fragment.app.FragmentManager; import net.gsantner.markor.R; @@ -97,10 +100,12 @@ public static void showInsertImageOrLinkDialog( final EditText inputPathName = view.findViewById(R.id.ui__select_path_dialog__name); final EditText inputPathUrl = view.findViewById(R.id.ui__select_path_dialog__url); final Button buttonBrowseFilesystem = view.findViewById(R.id.ui__select_path_dialog__browse_filesystem); + final Button buttonRecordAudio = view.findViewById(R.id.ui__select_path_dialog__record_audio); final Button buttonSearch = view.findViewById(R.id.ui__select_path_dialog__search); final Button buttonPictureGallery = view.findViewById(R.id.ui__select_path_dialog__gallery_picture); final Button buttonPictureCamera = view.findViewById(R.id.ui__select_path_dialog__camera_picture); final Button buttonPictureEdit = view.findViewById(R.id.ui__select_path_dialog__edit_picture); + styleActionButtons(activity, buttonBrowseFilesystem, buttonRecordAudio, buttonSearch, buttonPictureCamera, buttonPictureGallery, buttonPictureEdit); builder.setCancelable(true); builder.setNegativeButton(android.R.string.cancel, (di, b) -> di.dismiss()); @@ -140,6 +145,7 @@ public static void showInsertImageOrLinkDialog( browseType = InsertType.IMAGE_BROWSE; okType = InsertType.IMAGE_DIALOG; } else if (action == AUDIO_ACTION) { + buttonRecordAudio.setVisibility(View.VISIBLE); dialog.setTitle(R.string.audio); browseType = InsertType.AUDIO_BROWSE; okType = InsertType.AUDIO_DIALOG; @@ -153,6 +159,7 @@ public static void showInsertImageOrLinkDialog( final String ok = activity.getString(android.R.string.ok); dialog.setButton(DialogInterface.BUTTON_POSITIVE, ok, (di, b) -> _insertItem.callback(okType)); buttonBrowseFilesystem.setOnClickListener(v -> _insertItem.callback(browseType)); + buttonRecordAudio.setOnClickListener(v -> _insertItem.callback(InsertType.AUDIO_RECORDING)); buttonSearch.setOnClickListener(v -> _insertItem.callback(InsertType.LINK_SEARCH)); buttonPictureCamera.setOnClickListener(b -> _insertItem.callback(InsertType.IMAGE_CAMERA)); buttonPictureGallery.setOnClickListener(v -> _insertItem.callback(InsertType.IMAGE_GALLERY)); @@ -167,6 +174,27 @@ public static void showInsertImageOrLinkDialog( } } + private static void styleActionButtons(final Context context, final Button... buttons) { + final int textColor = ContextCompat.getColor(context, R.color.primary_text); + final ColorStateList textColorList = ColorStateList.valueOf(textColor); + final int horizontalPadding = dpToPx(context, 16); + final int verticalPadding = dpToPx(context, 10); + + for (Button button : buttons) { + button.setAllCaps(false); + button.setMinHeight(dpToPx(context, 48)); + button.setTextColor(textColorList); + button.setCompoundDrawablePadding(dpToPx(context, 12)); + button.setBackgroundResource(R.drawable.attachment_dialog_action_button_background); + button.setPadding(horizontalPadding, verticalPadding, horizontalPadding, verticalPadding); + TextViewCompat.setCompoundDrawableTintList(button, textColorList); + } + } + + private static int dpToPx(final Context context, final int dp) { + return Math.round(dp * context.getResources().getDisplayMetrics().density); + } + private enum InsertType { IMAGE_CAMERA, IMAGE_GALLERY, diff --git a/app/src/main/java/net/gsantner/markor/frontend/filebrowser/MarkorFileBrowserFactory.java b/app/src/main/java/net/gsantner/markor/frontend/filebrowser/MarkorFileBrowserFactory.java index 1bfaf1b3b3..db3993f331 100644 --- a/app/src/main/java/net/gsantner/markor/frontend/filebrowser/MarkorFileBrowserFactory.java +++ b/app/src/main/java/net/gsantner/markor/frontend/filebrowser/MarkorFileBrowserFactory.java @@ -86,6 +86,8 @@ public static void updateFsViewerOpts(final GsFileBrowserOptions.Options opts, f opts.popularFiles = appSettings.getPopularFiles(); opts.descriptionFormat = appSettings.getString(R.string.pref_key__file_description_format, ""); + opts.primaryColor = appSettings.isFlatTopBottomBarColorEnabled() ? R.color.background : R.color.primary; + opts.showDividers = appSettings.isFileBrowserDividerEnabled(); final File downloads = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); opts.addVirtualFile("Download", downloads, R.drawable.baseline_download_24); diff --git a/app/src/main/java/net/gsantner/markor/model/AppSettings.java b/app/src/main/java/net/gsantner/markor/model/AppSettings.java index 80aed82124..755413dd75 100644 --- a/app/src/main/java/net/gsantner/markor/model/AppSettings.java +++ b/app/src/main/java/net/gsantner/markor/model/AppSettings.java @@ -736,6 +736,29 @@ public String getAppThemeName() { return getString(R.string.pref_key__app_theme, _context.getString(R.string.app_theme_system)); } + public boolean isFlatTopBottomBarColorEnabled() { + return getBool(R.string.pref_key__ui_flat_top_bottom_bars, false); + } + + public boolean isMainBottomBarTabTitlesShown() { + return getBool(R.string.pref_key__main_bottom_bar_show_tab_titles, true); + } + + public boolean isFileBrowserDividerEnabled() { + return getBool(R.string.pref_key__file_browser_show_dividers, true); + } + + public @ColorInt int getUiBackgroundColor() { + if (getAppThemeName().contains("black")) { + return Color.BLACK; + } + return rcolor(R.color.background); + } + + public @ColorInt int getConfiguredBarBackgroundColor() { + return isFlatTopBottomBarColorEnabled() ? getUiBackgroundColor() : rcolor(R.color.primary); + } + public void setEditorBasicColor(boolean forDarkMode, @ColorRes int fgColor, @ColorRes int bgColor) { int resIdFg = forDarkMode ? R.string.pref_key__basic_color_scheme__fg_dark : R.string.pref_key__basic_color_scheme__fg_light; int resIdBg = forDarkMode ? R.string.pref_key__basic_color_scheme__bg_dark : R.string.pref_key__basic_color_scheme__bg_light; @@ -824,10 +847,6 @@ public boolean isFileBrowserSortFolderFirst() { return getBool(R.string.pref_key__filesystem_folder_first, true); } - public String getNavigationBarColor() { - return getString(R.string.pref_key__navigationbar_color, "#000000"); - } - public String getAppStartupFolderMenuId() { return getString(R.string.pref_key__app_start_folder, "notebook"); } diff --git a/app/src/main/java/net/gsantner/opoc/frontend/base/GsPreferenceFragmentBase.java b/app/src/main/java/net/gsantner/opoc/frontend/base/GsPreferenceFragmentBase.java index 22f2db85fc..21ebc48250 100644 --- a/app/src/main/java/net/gsantner/opoc/frontend/base/GsPreferenceFragmentBase.java +++ b/app/src/main/java/net/gsantner/opoc/frontend/base/GsPreferenceFragmentBase.java @@ -91,7 +91,6 @@ @SuppressWarnings({"WeakerAccess", "unused", "UnusedReturnValue"}) public abstract class GsPreferenceFragmentBase extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener, PreferenceFragmentCompat.OnPreferenceStartScreenCallback { - private static final int DEFAULT_ICON_TINT_DELAY = 200; protected boolean _isDividerVisible = false; // @@ -167,23 +166,27 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { // on bottom afterOnCreate(savedInstanceState, activity); + tintPreferenceIcons(); } - public final GsCallback.a1 updatePreferenceIcons = (frag) -> { + private void tintPreferenceIcons() { try { - View view = frag.getView(); final Integer color = getIconTintColor(); - if (view != null && color != null) { - Runnable r = () -> tintAllPrefIcons(frag, color); - for (long delayFactor : new int[]{1, 10, 50, 100, 500}) { - view.postDelayed(r, delayFactor * DEFAULT_ICON_TINT_DELAY); - } + if (color == null) { + return; + } + + tintAllPrefIcons(color); + + final View view = getView(); + if (view != null) { + view.post(() -> tintAllPrefIcons(color)); } } catch (Exception ignored) { } - }; + } - public void tintAllPrefIcons(PreferenceFragmentCompat preferenceFragment, @ColorInt int iconColor) { + public void tintAllPrefIcons(@ColorInt int iconColor) { tintPrefIconsRecursive(getPreferenceScreen(), iconColor); } @@ -231,7 +234,6 @@ protected int keyToStringResId(String keyAsString) { @Override public void onViewCreated(@NonNull final View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); - updatePreferenceIcons.callback(this); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { view.postDelayed(() -> { @@ -343,7 +345,7 @@ public void onStop() { public boolean onPreferenceStartScreen(PreferenceFragmentCompat preferenceFragmentCompat, PreferenceScreen preferenceScreen) { _prefScreenBackstack.add(getPreferenceScreen()); preferenceFragmentCompat.setPreferenceScreen(preferenceScreen); - updatePreferenceIcons.callback(this); + tintPreferenceIcons(); onPreferenceScreenChangedPriv(preferenceFragmentCompat, preferenceScreen); return true; } diff --git a/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserDialog.java b/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserDialog.java index 97a0ddef7e..6498c9a3cc 100644 --- a/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserDialog.java +++ b/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserDialog.java @@ -174,7 +174,7 @@ public void onViewCreated(final View root, final @Nullable Bundle savedInstanceS root.setBackgroundColor(rcolor(_dopt.backgroundColor)); - GsFileBrowserFragment.addDivider(activity, _recyclerList); + GsFileBrowserFragment.addDivider(activity, _recyclerList, _dopt.showDividers); _recyclerList.setItemViewCacheSize(20); diff --git a/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserFragment.java b/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserFragment.java index 9fa77dff3a..0d6b225148 100644 --- a/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserFragment.java +++ b/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserFragment.java @@ -119,7 +119,7 @@ public void onViewCreated(@NonNull View root, @Nullable Bundle savedInstanceStat } setDialogOptions(((FilesystemFragmentOptionsListener) activity).getFilesystemFragmentOptions(_dopt)); - addDivider(activity, _recyclerList); + addDivider(activity, _recyclerList, _dopt.showDividers); _filesystemViewerAdapter = new GsFileBrowserListAdapter(_dopt, activity); _recyclerList.setAdapter(_filesystemViewerAdapter); @@ -700,11 +700,15 @@ public MarkorContextUtils createContextUtilsInstance(Context context) { return new MarkorContextUtils(context); } - public static void addDivider(final Activity activity, final RecyclerView recyclerView) { + public static void addDivider(final Activity activity, final RecyclerView recyclerView, final boolean showDividers) { if (recyclerView == null || activity == null) { return; } + if (!showDividers) { + return; + } + final LinearLayoutManager lam = (LinearLayoutManager) recyclerView.getLayoutManager(); if (lam == null) { diff --git a/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserOptions.java b/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserOptions.java index c74a85a9b4..f1eba3c2c6 100644 --- a/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserOptions.java +++ b/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserOptions.java @@ -131,6 +131,8 @@ public static class Options { @ColorRes public int folderColor = 0; + public boolean showDividers = true; + public final Map storageMaps = new LinkedHashMap<>(); public final Map iconMaps = new HashMap<>(); public Collection favouriteFiles, recentFiles, popularFiles = null; diff --git a/app/src/main/res/drawable/attachment_dialog_action_button_background.xml b/app/src/main/res/drawable/attachment_dialog_action_button_background.xml new file mode 100644 index 0000000000..90270016af --- /dev/null +++ b/app/src/main/res/drawable/attachment_dialog_action_button_background.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/bottomnav_color_selector.xml b/app/src/main/res/drawable/bottomnav_color_selector.xml index 2a75a2ecd2..8cf065436c 100644 --- a/app/src/main/res/drawable/bottomnav_color_selector.xml +++ b/app/src/main/res/drawable/bottomnav_color_selector.xml @@ -13,4 +13,4 @@ - \ No newline at end of file + diff --git a/app/src/main/res/layout/main__activity.xml b/app/src/main/res/layout/main__activity.xml index c9e608f15b..4ff1dc9a07 100644 --- a/app/src/main/res/layout/main__activity.xml +++ b/app/src/main/res/layout/main__activity.xml @@ -8,7 +8,7 @@ * #########################################################*/ --> - + android:theme="@style/AppTheme.Light.AppBarOverlay" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + android:layout_width="0dp" + android:layout_height="0dp" + app:layout_constraintBottom_toTopOf="@id/bottom_navigation_bar" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/appbar" /> - + diff --git a/app/src/main/res/layout/select_path_dialog.xml b/app/src/main/res/layout/select_path_dialog.xml index fb86df4477..d481a3ac5a 100644 --- a/app/src/main/res/layout/select_path_dialog.xml +++ b/app/src/main/res/layout/select_path_dialog.xml @@ -41,45 +41,60 @@ android:inputType="textUri|textMultiLine" android:maxLines="3" /> -