From 922b84be5bb185ff373ba5550b63b50f901ca3cf Mon Sep 17 00:00:00 2001 From: Nishith Khanna Date: Fri, 30 Aug 2024 12:30:37 +0530 Subject: [PATCH] Theme app according to our pallete --- Android.bp | 1 + res/drawable/circular_drawable.xml | 2 +- res/drawable/circular_drawable_background.xml | 2 +- res/layout/activity_album_detail.xml | 2 +- res/layout/activity_artist_detail.xml | 2 +- res/layout/activity_base.xml | 2 +- res/layout/audio_player_header_bar.xml | 4 +- res/layout/list_item_queue.xml | 4 +- res/layout/main_playback_controls.xml | 10 ++-- res/layout/playlist_detail.xml | 2 +- res/layout/preference_material_switch.xml | 2 +- res/values/attrs.xml | 2 + res/values/colors.xml | 48 +++++++++---------- res/values/styles.xml | 33 ++++++++++++- .../eleven/menu/BasePlaylistDialog.java | 6 ++- .../lineageos/eleven/menu/ConfirmDialog.java | 5 +- .../lineageos/eleven/menu/DeleteDialog.java | 5 +- .../eleven/menu/PhotoSelectionDialog.java | 5 +- .../eleven/ui/activities/HomeActivity.java | 8 ++-- .../ui/activities/SettingsActivity.java | 7 +-- .../ui/fragments/AudioPlayerFragment.java | 6 ++- .../fragments/profile/BasicSongFragment.java | 5 -- .../eleven/utils/PlaylistPopupMenuHelper.java | 6 ++- .../eleven/utils/PopupMenuHelper.java | 5 +- .../eleven/widgets/AlbumScrimImage.java | 2 +- 25 files changed, 108 insertions(+), 68 deletions(-) diff --git a/Android.bp b/Android.bp index 5df728fa..424c1d30 100644 --- a/Android.bp +++ b/Android.bp @@ -35,6 +35,7 @@ android_app { "androidx.recyclerview_recyclerview", "androidx-constraintlayout_constraintlayout", "Eleven_com.google.android.material_material", + "elib", ], overrides: ["Music"], diff --git a/res/drawable/circular_drawable.xml b/res/drawable/circular_drawable.xml index 9240bf53..85550f36 100644 --- a/res/drawable/circular_drawable.xml +++ b/res/drawable/circular_drawable.xml @@ -21,5 +21,5 @@ android:thicknessRatio="@dimen/circular_progress_bar_thickness_ratio" android:shape="ring" android:useLevel="true"> - + diff --git a/res/drawable/circular_drawable_background.xml b/res/drawable/circular_drawable_background.xml index 9240bf53..85550f36 100644 --- a/res/drawable/circular_drawable_background.xml +++ b/res/drawable/circular_drawable_background.xml @@ -21,5 +21,5 @@ android:thicknessRatio="@dimen/circular_progress_bar_thickness_ratio" android:shape="ring" android:useLevel="true"> - + diff --git a/res/layout/activity_album_detail.xml b/res/layout/activity_album_detail.xml index 4d627463..cd504294 100644 --- a/res/layout/activity_album_detail.xml +++ b/res/layout/activity_album_detail.xml @@ -1,7 +1,7 @@ + android:background="@color/e_background" > + android:background="@color/e_background"> diff --git a/res/layout/activity_base.xml b/res/layout/activity_base.xml index 9df3d91f..4678fce3 100644 --- a/res/layout/activity_base.xml +++ b/res/layout/activity_base.xml @@ -91,7 +91,7 @@ @@ -60,7 +60,7 @@ android:scrollHorizontally="true" android:singleLine="true" android:textAllCaps="true" - android:textColor="?colorOnPrimaryContainer" + android:textColor="@color/e_secondary_text_color" android:textSize="@dimen/text_size_micro" tools:text="Name of Artist" /> diff --git a/res/layout/list_item_queue.xml b/res/layout/list_item_queue.xml index d6821079..b3bf379b 100644 --- a/res/layout/list_item_queue.xml +++ b/res/layout/list_item_queue.xml @@ -45,14 +45,14 @@ style="@style/ListItemMainText.Single" android:layout_width="match_parent" android:layout_height="wrap_content" - android:textColor="?colorOnSecondaryContainer" /> + android:textColor="@color/e_primary_text_color" /> + android:textColor="@color/e_secondary_text_color" /> + android:background="@color/e_background"> - + + diff --git a/res/values/colors.xml b/res/values/colors.xml index 2c5d53d4..9f2f4f7c 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -20,32 +20,32 @@ @android:color/system_accent1_300 @color/material_dynamic_neutral95 - @android:color/system_accent1_300 - @android:color/system_accent2_300 - @android:color/system_accent3_300 - @android:color/system_accent1_400 - @android:color/system_accent2_400 - @android:color/system_accent3_400 - @android:color/system_accent1_500 - @android:color/system_accent2_500 - @android:color/system_accent3_500 - @android:color/system_accent1_600 - @android:color/system_accent2_600 - @android:color/system_accent3_600 + #0F94F6 + #00B4B4 + #008D96 + #44B04C + #AFD83D + #FFED21 + #FFC300 + #FF7A00 + #F8432E + #ED1C61 + #ED1C61 + #5754DC - @android:color/system_accent1_600 - @android:color/system_accent2_600 - @android:color/system_accent3_600 - @android:color/system_accent1_700 - @android:color/system_accent2_700 - @android:color/system_accent3_700 - @android:color/system_accent1_800 - @android:color/system_accent2_800 - @android:color/system_accent3_800 - @android:color/system_accent1_900 - @android:color/system_accent2_900 - @android:color/system_accent3_900 + #0F94F6 + #00B4B4 + #008D96 + #44B04C + #AFD83D + #FFED21 + #FFC300 + #FF7A00 + #F8432E + #ED1C61 + #ED1C61 + #5754DC diff --git a/res/values/styles.xml b/res/values/styles.xml index 7e8a11a1..913c96d3 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -20,13 +20,22 @@ @@ -129,4 +138,26 @@ 16dp 0.5 + + + + + + + + diff --git a/src/org/lineageos/eleven/menu/BasePlaylistDialog.java b/src/org/lineageos/eleven/menu/BasePlaylistDialog.java index f577b198..dcf0bdbb 100644 --- a/src/org/lineageos/eleven/menu/BasePlaylistDialog.java +++ b/src/org/lineageos/eleven/menu/BasePlaylistDialog.java @@ -17,7 +17,6 @@ */ package org.lineageos.eleven.menu; -import android.app.AlertDialog; import android.app.Dialog; import android.os.Bundle; import android.text.InputType; @@ -28,8 +27,11 @@ import android.widget.EditText; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.DialogFragment; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import org.lineageos.eleven.R; import org.lineageos.eleven.utils.MusicUtils; @@ -61,7 +63,7 @@ public abstract class BasePlaylistDialog extends DialogFragment implements TextW @NonNull @Override public Dialog onCreateDialog(@Nullable final Bundle savedInstanceState) { - mPlaylistDialog = new AlertDialog.Builder(getActivity()).create(); + mPlaylistDialog = new MaterialAlertDialogBuilder(getActivity()).create(); mPlaylistDialog.setButton(Dialog.BUTTON_POSITIVE, getString(R.string.save), (dialog, which) -> { onSaveClick(); diff --git a/src/org/lineageos/eleven/menu/ConfirmDialog.java b/src/org/lineageos/eleven/menu/ConfirmDialog.java index bf5d4227..98756234 100644 --- a/src/org/lineageos/eleven/menu/ConfirmDialog.java +++ b/src/org/lineageos/eleven/menu/ConfirmDialog.java @@ -16,7 +16,6 @@ */ package org.lineageos.eleven.menu; -import android.app.AlertDialog; import android.app.Dialog; import android.os.Bundle; @@ -25,6 +24,8 @@ import androidx.fragment.app.DialogFragment; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import org.lineageos.eleven.R; /** @@ -67,7 +68,7 @@ public class ConfirmDialog extends DialogFragment { @NonNull public Dialog onCreateDialog(final Bundle savedInstanceState) { Bundle args = getArguments(); - return new AlertDialog.Builder(getActivity()) + return new MaterialAlertDialogBuilder(getActivity()) .setTitle(args == null ? R.string.app_name : args.getInt(TITLE_ID)) .setMessage(R.string.cannot_be_undone) .setPositiveButton(args == null ? android.R.string.ok : args.getInt(OK_ID), diff --git a/src/org/lineageos/eleven/menu/DeleteDialog.java b/src/org/lineageos/eleven/menu/DeleteDialog.java index a0c89245..8a87636b 100644 --- a/src/org/lineageos/eleven/menu/DeleteDialog.java +++ b/src/org/lineageos/eleven/menu/DeleteDialog.java @@ -17,13 +17,14 @@ */ package org.lineageos.eleven.menu; -import android.app.AlertDialog; import android.app.Dialog; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.fragment.app.DialogFragment; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import org.lineageos.eleven.Config; import org.lineageos.eleven.R; import org.lineageos.eleven.cache.ImageFetcher; @@ -91,7 +92,7 @@ public class DeleteDialog extends DialogFragment { // Initialize the image cache mFetcher = ElevenUtils.getImageFetcher(getActivity()); // Build the dialog - return new AlertDialog.Builder(getActivity()).setTitle(dialogTitle) + return new MaterialAlertDialogBuilder(getActivity()).setTitle(dialogTitle) .setMessage(R.string.cannot_be_undone) .setPositiveButton(delete, (dialog, which) -> { // Remove the items from the image cache diff --git a/src/org/lineageos/eleven/menu/PhotoSelectionDialog.java b/src/org/lineageos/eleven/menu/PhotoSelectionDialog.java index d11a53e2..c8ed3687 100644 --- a/src/org/lineageos/eleven/menu/PhotoSelectionDialog.java +++ b/src/org/lineageos/eleven/menu/PhotoSelectionDialog.java @@ -17,7 +17,6 @@ */ package org.lineageos.eleven.menu; -import android.app.AlertDialog; import android.app.Dialog; import android.os.Bundle; import android.widget.ArrayAdapter; @@ -26,6 +25,8 @@ import android.widget.ListAdapter; import androidx.annotation.NonNull; import androidx.fragment.app.DialogFragment; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import org.lineageos.eleven.Config; import org.lineageos.eleven.R; import org.lineageos.eleven.ui.activities.HomeActivity; @@ -81,7 +82,7 @@ public class PhotoSelectionDialog extends DialogFragment { final HomeActivity activity = (HomeActivity) getActivity(); final ListAdapter adapter = new ArrayAdapter<>(activity, android.R.layout.select_dialog_item, choices); - return new AlertDialog.Builder(activity).setTitle(title) + return new MaterialAlertDialogBuilder(activity).setTitle(title) .setAdapter(adapter, (dialog, which) -> { switch (which) { case NEW_PHOTO: diff --git a/src/org/lineageos/eleven/ui/activities/HomeActivity.java b/src/org/lineageos/eleven/ui/activities/HomeActivity.java index e3654608..1af446fe 100644 --- a/src/org/lineageos/eleven/ui/activities/HomeActivity.java +++ b/src/org/lineageos/eleven/ui/activities/HomeActivity.java @@ -149,7 +149,7 @@ public class HomeActivity extends SlidingPanelActivity implements // figure which panel we are on and update the status bar mBrowsePanelActive = (getCurrentPanel() == Panel.Browse); - updateStatusBarColor(); + // updateStatusBarColor(); } // if intent wasn't UI related, process it as a audio playback request @@ -199,7 +199,7 @@ public class HomeActivity extends SlidingPanelActivity implements @Override public void onMetaChanged() { super.onMetaChanged(); - updateStatusBarColor(); + // updateStatusBarColor(); } @Override @@ -207,7 +207,7 @@ public class HomeActivity extends SlidingPanelActivity implements boolean isInBrowser = getCurrentPanel() == Panel.Browse && slideOffset < 0.7f; if (isInBrowser != mBrowsePanelActive) { mBrowsePanelActive = isInBrowser; - updateStatusBarColor(); + // updateStatusBarColor(); } } @@ -222,7 +222,7 @@ public class HomeActivity extends SlidingPanelActivity implements private void updateStatusBarColor() { if (mBrowsePanelActive || MusicUtils.getCurrentAlbumId() < 0) { - updateStatusBarColor(Color.TRANSPARENT); + // updateStatusBarColor(Color.TRANSPARENT); } else { Executor executor = Executors.newSingleThreadExecutor(); Handler handler = new Handler(Looper.getMainLooper()); diff --git a/src/org/lineageos/eleven/ui/activities/SettingsActivity.java b/src/org/lineageos/eleven/ui/activities/SettingsActivity.java index 85f1ff62..4d3c9c8e 100644 --- a/src/org/lineageos/eleven/ui/activities/SettingsActivity.java +++ b/src/org/lineageos/eleven/ui/activities/SettingsActivity.java @@ -21,7 +21,6 @@ package org.lineageos.eleven.ui.activities; import static android.content.pm.PackageManager.PERMISSION_GRANTED; import android.app.Activity; -import android.app.AlertDialog; import android.content.ComponentName; import android.content.ServiceConnection; import android.content.SharedPreferences; @@ -40,6 +39,8 @@ import androidx.preference.Preference; import androidx.preference.PreferenceFragmentCompat; import androidx.preference.SwitchPreferenceCompat; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import org.lineageos.eleven.IElevenService; import org.lineageos.eleven.R; import org.lineageos.eleven.cache.ImageFetcher; @@ -88,7 +89,7 @@ public class SettingsActivity extends AppCompatActivity { final Preference deleteCache = findPreference("delete_cache"); if (deleteCache != null) { deleteCache.setOnPreferenceClickListener(preference -> { - new AlertDialog.Builder(getContext()) + new MaterialAlertDialogBuilder(getContext()) .setMessage(R.string.delete_warning) .setPositiveButton(android.R.string.ok, (dialog, which) -> ImageFetcher.getInstance(getContext()).clearCaches()) @@ -202,7 +203,7 @@ public class SettingsActivity extends AppCompatActivity { if (grantResults.length == 0 || grantResults[0] != PERMISSION_GRANTED) { mShowVisualizer.setChecked(false); if (!showRationale) { - new AlertDialog.Builder(getContext()) + new MaterialAlertDialogBuilder(getContext()) .setMessage(R.string.visualizer_perm_denied) .setPositiveButton(android.R.string.ok, null) .show(); diff --git a/src/org/lineageos/eleven/ui/fragments/AudioPlayerFragment.java b/src/org/lineageos/eleven/ui/fragments/AudioPlayerFragment.java index fa573022..a77d3ccc 100644 --- a/src/org/lineageos/eleven/ui/fragments/AudioPlayerFragment.java +++ b/src/org/lineageos/eleven/ui/fragments/AudioPlayerFragment.java @@ -16,7 +16,6 @@ */ package org.lineageos.eleven.ui.fragments; -import android.app.AlertDialog; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; @@ -45,6 +44,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.Toolbar; import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; @@ -52,6 +52,8 @@ import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentManager; import androidx.viewpager2.widget.ViewPager2; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import org.lineageos.eleven.MusicPlaybackService; import org.lineageos.eleven.R; import org.lineageos.eleven.adapters.AlbumArtPagerAdapter; @@ -225,7 +227,7 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection { mSelectedId = MusicUtils.getCurrentAudioId(); if (activity != null) { final List menuItemList = MusicUtils.makePlaylist(activity); - final AlertDialog.Builder builder = new AlertDialog.Builder(activity); + final MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(activity); builder.setTitle(R.string.add_to_playlist) .setItems(menuItemList.toArray(new String[0]), (dialog, which) -> { final long playListId = MusicUtils.getIdForPlaylist(getActivity(), diff --git a/src/org/lineageos/eleven/ui/fragments/profile/BasicSongFragment.java b/src/org/lineageos/eleven/ui/fragments/profile/BasicSongFragment.java index de624f20..00a9d67e 100644 --- a/src/org/lineageos/eleven/ui/fragments/profile/BasicSongFragment.java +++ b/src/org/lineageos/eleven/ui/fragments/profile/BasicSongFragment.java @@ -147,11 +147,6 @@ public abstract class BasicSongFragment extends Fragment implements mRootView = (ViewGroup) inflater.inflate(R.layout.fragment_list, container, false); // set the background on the root view final Context context = getContext(); - if (context != null) { - TypedValue c = new TypedValue(); - context.getTheme().resolveAttribute(R.attr.colorSurface, c, true); - mRootView.setBackgroundColor(ContextCompat.getColor(context, c.resourceId)); - } // Initialize the list mListView = mRootView.findViewById(R.id.list_base); // Set the data behind the list diff --git a/src/org/lineageos/eleven/utils/PlaylistPopupMenuHelper.java b/src/org/lineageos/eleven/utils/PlaylistPopupMenuHelper.java index 58dacf82..81d362a0 100644 --- a/src/org/lineageos/eleven/utils/PlaylistPopupMenuHelper.java +++ b/src/org/lineageos/eleven/utils/PlaylistPopupMenuHelper.java @@ -17,13 +17,15 @@ package org.lineageos.eleven.utils; import android.app.Activity; -import android.app.AlertDialog; import android.content.ContentUris; import android.net.Uri; import android.provider.MediaStore; +import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.FragmentManager; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import org.lineageos.eleven.Config; import org.lineageos.eleven.Config.SmartPlaylistType; import org.lineageos.eleven.R; @@ -95,7 +97,7 @@ public abstract class PlaylistPopupMenuHelper extends PopupMenuHelper { * @return A new {@link AlertDialog} used to delete playlists */ private AlertDialog buildDeleteDialog(final long playlistId, final String playlistName) { - return new AlertDialog.Builder(mActivity) + return new MaterialAlertDialogBuilder(mActivity) .setTitle(mActivity.getString(R.string.delete_dialog_title, playlistName)) .setPositiveButton(R.string.context_menu_delete, (dialog, which) -> { final Uri mUri = ContentUris.withAppendedId( diff --git a/src/org/lineageos/eleven/utils/PopupMenuHelper.java b/src/org/lineageos/eleven/utils/PopupMenuHelper.java index cf9b701e..2ae359bb 100644 --- a/src/org/lineageos/eleven/utils/PopupMenuHelper.java +++ b/src/org/lineageos/eleven/utils/PopupMenuHelper.java @@ -18,7 +18,6 @@ package org.lineageos.eleven.utils; import android.annotation.SuppressLint; import android.app.Activity; -import android.app.AlertDialog; import android.view.Gravity; import android.view.Menu; import android.view.MenuItem; @@ -30,6 +29,8 @@ import androidx.appcompat.view.menu.MenuPopupHelper; import androidx.appcompat.widget.PopupMenu; import androidx.fragment.app.FragmentManager; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import org.lineageos.eleven.Config; import org.lineageos.eleven.R; import org.lineageos.eleven.menu.CreateNewPlaylist; @@ -354,7 +355,7 @@ public abstract class PopupMenuHelper implements PopupMenu.OnMenuItemClickListen MusicUtils.addToQueue(mActivity, getIdList(), getSourceId(), getSourceType()); return true; case FragmentMenuItems.ADD_TO_PLAYLIST: - final AlertDialog.Builder builder = new AlertDialog.Builder(mActivity); + final MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(mActivity); builder.setTitle(R.string.add_to_playlist); final List menuItemList = MusicUtils.makePlaylist(mActivity); builder.setItems(menuItemList.toArray(new String[0]), (dialog, which) -> { diff --git a/src/org/lineageos/eleven/widgets/AlbumScrimImage.java b/src/org/lineageos/eleven/widgets/AlbumScrimImage.java index 8e39b8dd..6e6c5e30 100644 --- a/src/org/lineageos/eleven/widgets/AlbumScrimImage.java +++ b/src/org/lineageos/eleven/widgets/AlbumScrimImage.java @@ -55,7 +55,7 @@ public class AlbumScrimImage extends FrameLayout { super(context, attrs); TypedValue typedValue = new TypedValue(); - context.getTheme().resolveAttribute(R.attr.colorPrimaryContainer, typedValue, true); + context.getTheme().resolveAttribute(R.attr.slidingPanelBackground, typedValue, true); mDefaultArtworkColor = typedValue.data; } -- GitLab