diff --git a/app/build.gradle b/app/build.gradle
index ad77453c7..9358d5332 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -4,16 +4,16 @@ apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
- compileSdkVersion 28
+ compileSdkVersion 29
defaultConfig {
minSdkVersion 21
- targetSdkVersion 28
+ targetSdkVersion 29
renderscriptTargetApi 28 //must match target sdk and build tools
vectorDrawables.useSupportLibrary = true
applicationId "code.name.monkey.retromusic"
- versionCode 392
+ versionCode 393
versionName '3.4.800'
multiDexEnabled true
diff --git a/app/src/main/assets/retro-changelog.html b/app/src/main/assets/retro-changelog.html
index c3041fbda..6b8f9172f 100644
--- a/app/src/main/assets/retro-changelog.html
+++ b/app/src/main/assets/retro-changelog.html
@@ -1 +1 @@
-
v3.4.800
- Improved dark theme colors and Follow system theme
- Rounded rectangle ripple for BottomNavigationView
- Follow sleep timer dialog checkbox color as accent
- Added song list selection for Alum and Artist details
- Fixed Toolbar popup text color when selecting songs
v3.4.700
- Added splash screen(for app loading time)
- Updated dark theme colors
- Added circular progress view
- Hiding year if not showing
v3.4.600
- Fix notification layout height
- Fix folder list last item not showing
- Added auto hide/ show controls according to first and last item
v3.4.500
- Added peak theme
- Added app rating dialog
- Fix song name scrolling in now playing themes if it's long
- Fix playing queue last item hiding FAB
- Added desaturated color option for dark mode
- Fix slow search loading
- Fix last added slow loading
- Fix home banner toolbar corner
- Fix home crashing when switching between two tabs
- Fix remaining time in playing queue
- Fix font not applied for some components
- Fix crashing on album details sorting
- Fixed lot of internal bugs
- Fix dialog expand
- Fix list card color
- Removed SlidingUpPanel to replace with BottomSheet
- Removed color theme as per material design guidelines
- Removed classic theme(We're bringing back)
- Replace line switch to Material Switch in settings
- Performance improved
- Updated internal libraries
- Updated translation
- Limiting the use of Theme engine for making use of system colors
- Change home icon from the user icon
- Corrected all toolbar with elevation when scrolling
v3.3.200
- Fix fullscreen bottom tabs icons squash
- Improved tiny theme colors
- Android auto support
- New notification icon
- Favorite icon in mini player
v.3.3.100
- Improved Now playing controls alignment
- Lot internal changes to improve performance
- Fix playlist adding crash
- Fix color corrections
- Fix file editing crash
v3.3.000
- SD card support for deleting and editing
v3.2.240
- Improved options dialog with selected color and title icon
- Fix dialog color on dark theme
v3.2.220
- Fix Notification SeekBar position (Need Android Q test)
- Rolled back settings tint icons
- Changed preference category title style according Android Q
- Fix tabs options not working
v3.2.203
- Carousel effect improved
- Settings icons are now tint accent color
- Settings title, back arrow and icons are now tint accent color
- Equalizer is removed
- Fix keyboard not popping on Search
- Curated the main options
- Folder toolbar outlined, folder icon background fix and separate line removed
- Edit text input handles are colored
v3.2.135
- Fix crashing on sharing song
v3.2.125
- Fix crashing on selecting profile picture
- Semi transparent color fix(s) on now playing themes
v3.2.120
- Fix crashing on choosing a theme
- Fix color theme selection without pro enabled
- Fix icon tint some places
v3.2.105
v3.2.100
- Fix crashing on Sleep timer
- Toolbar elevation removed added stroke instead
- Show empty indication for home
v3.2.000
- Implemented Artist image loading all thanks to VinylMusicPlayer
- Fixed buttons in Genre details
- Fixed color buttons in Album and Artist details screen
v3.1.900
- Added Play and Shuffle buttons on Songs list, Album Details, Artist Details, Playlist
Details etc.
- Home toolbar is semi transparent in Banner mode
- Added new Buy Retro Music pro in settings
- Improved dark color in Dark theme
v3.1.850
- Toolbar will be clickable for Search
v3.1.800
- Search bar CardView background
- Improve volume zero
- Now playing and Album theme picker rollback to dialog
- Fix sharing app link
- Fix scanning dialog
- Added settings icons for options
v3.1.700
- Cleaned internal code
- Removed full screen option
- Added Toolbar elevation
- To access menu either tap on Toolbar or Hamburger icon
- Fix back button not working on playing queue
- Fix crashing on What's New screen
- Fix lyrics dialog
- Changed toggles to line icons
- Fix crashing on artist list for number format error
- Fix blacklist dialog crashing
- Rearranged icons and main menu access
- Fix some crashes when device is locked or background
- Folder screen have main options access
- Dialogs are now using Material Dialogs v3(BottomSheet)
- Fix Shuffle icon for Artist, Album, Genre and Playlist details
v3.1.400
- Removed sync lyrics for Android 5
- Fix Seek-bar color in settings
- Added keyboard to popup on search
- Added keyboard to popup on search
- Improved lock-screen behavior and UI
- Improved text appearance
- Fix bio text not showing in settings
- Fix not showing slider(blur, filter song) amount in settings
- Fix setting ringtone
- Fix file sharing crash
- Fix some crashes
- Fix playlist icon on small devices
- Fix empty lyrics text color
- Fix album cover background purple color in color theme
v3.1.300
- Fix rename playlist text color
- Fix same album showing in details page
- Fix lyrics text alignment on sync and lyrics reading improved
- Improved home sections loading
- Removed library options which are duplicated (it's available from profile menu)
- Replaced collapsing Fab with Android Floating Extended Fab
- Replaced home with for you
- Fixed profile image not loading in about
- Improved selecting user profile image
- Added bio to enter custom message
- Improved some UI screens
If you see entire app white or dark or black select same theme in settings to fix
FAQ's
*If you face any UI related issues you clear app data and cache, if its
not working try to
uninstall and install again.
\ No newline at end of file
+
v3.4.800
- Improved dark theme colors and Follow system theme
- Rounded rectangle ripple for BottomNavigationView
- Follow sleep timer dialog checkbox color as accent
- Added song list selection for Album and Artist details
- Fixed Toolbar popup text color when selecting songs
v3.4.700
- Added splash screen(for app loading time)
- Updated dark theme colors
- Added circular progress view
- Hiding year if not showing
v3.4.600
- Fix notification layout height
- Fix folder list last item not showing
- Added auto hide/ show controls according to first and last item
v3.4.500
- Added peak theme
- Added app rating dialog
- Fix song name scrolling in now playing themes if it's long
- Fix playing queue last item hiding FAB
- Added desaturated color option for dark mode
- Fix slow search loading
- Fix last added slow loading
- Fix home banner toolbar corner
- Fix home crashing when switching between two tabs
- Fix remaining time in playing queue
- Fix font not applied for some components
- Fix crashing on album details sorting
- Fixed lot of internal bugs
- Fix dialog expand
- Fix list card color
- Removed SlidingUpPanel to replace with BottomSheet
- Removed color theme as per material design guidelines
- Removed classic theme(We're bringing back)
- Replace line switch to Material Switch in settings
- Performance improved
- Updated internal libraries
- Updated translation
- Limiting the use of Theme engine for making use of system colors
- Change home icon from the user icon
- Corrected all toolbar with elevation when scrolling
v3.3.200
- Fix fullscreen bottom tabs icons squash
- Improved tiny theme colors
- Android auto support
- New notification icon
- Favorite icon in mini player
v.3.3.100
- Improved Now playing controls alignment
- Lot internal changes to improve performance
- Fix playlist adding crash
- Fix color corrections
- Fix file editing crash
v3.3.000
- SD card support for deleting and editing
v3.2.240
- Improved options dialog with selected color and title icon
- Fix dialog color on dark theme
v3.2.220
- Fix Notification SeekBar position (Need Android Q test)
- Rolled back settings tint icons
- Changed preference category title style according Android Q
- Fix tabs options not working
v3.2.203
- Carousel effect improved
- Settings icons are now tint accent color
- Settings title, back arrow and icons are now tint accent color
- Equalizer is removed
- Fix keyboard not popping on Search
- Curated the main options
- Folder toolbar outlined, folder icon background fix and separate line removed
- Edit text input handles are colored
v3.2.135
- Fix crashing on sharing song
v3.2.125
- Fix crashing on selecting profile picture
- Semi transparent color fix(s) on now playing themes
v3.2.120
- Fix crashing on choosing a theme
- Fix color theme selection without pro enabled
- Fix icon tint some places
v3.2.105
v3.2.100
- Fix crashing on Sleep timer
- Toolbar elevation removed added stroke instead
- Show empty indication for home
v3.2.000
- Implemented Artist image loading all thanks to VinylMusicPlayer
- Fixed buttons in Genre details
- Fixed color buttons in Album and Artist details screen
v3.1.900
- Added Play and Shuffle buttons on Songs list, Album Details, Artist Details, Playlist
Details etc.
- Home toolbar is semi transparent in Banner mode
- Added new Buy Retro Music pro in settings
- Improved dark color in Dark theme
v3.1.850
- Toolbar will be clickable for Search
v3.1.800
- Search bar CardView background
- Improve volume zero
- Now playing and Album theme picker rollback to dialog
- Fix sharing app link
- Fix scanning dialog
- Added settings icons for options
v3.1.700
- Cleaned internal code
- Removed full screen option
- Added Toolbar elevation
- To access menu either tap on Toolbar or Hamburger icon
- Fix back button not working on playing queue
- Fix crashing on What's New screen
- Fix lyrics dialog
- Changed toggles to line icons
- Fix crashing on artist list for number format error
- Fix blacklist dialog crashing
- Rearranged icons and main menu access
- Fix some crashes when device is locked or background
- Folder screen have main options access
- Dialogs are now using Material Dialogs v3(BottomSheet)
- Fix Shuffle icon for Artist, Album, Genre and Playlist details
v3.1.400
- Removed sync lyrics for Android 5
- Fix Seek-bar color in settings
- Added keyboard to popup on search
- Added keyboard to popup on search
- Improved lock-screen behavior and UI
- Improved text appearance
- Fix bio text not showing in settings
- Fix not showing slider(blur, filter song) amount in settings
- Fix setting ringtone
- Fix file sharing crash
- Fix some crashes
- Fix playlist icon on small devices
- Fix empty lyrics text color
- Fix album cover background purple color in color theme
v3.1.300
- Fix rename playlist text color
- Fix same album showing in details page
- Fix lyrics text alignment on sync and lyrics reading improved
- Improved home sections loading
- Removed library options which are duplicated (it's available from profile menu)
- Replaced collapsing Fab with Android Floating Extended Fab
- Replaced home with for you
- Fixed profile image not loading in about
- Improved selecting user profile image
- Added bio to enter custom message
- Improved some UI screens
If you see entire app white or dark or black select same theme in settings to fix
FAQ's
*If you face any UI related issues you clear app data and cache, if its
not working try to
uninstall and install again.
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/UserInfoActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/UserInfoActivity.kt
index 5da7633e9..c623d11d9 100644
--- a/app/src/main/java/code/name/monkey/retromusic/activities/UserInfoActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/activities/UserInfoActivity.kt
@@ -1,7 +1,6 @@
package code.name.monkey.retromusic.activities
import android.app.Activity
-import android.content.ContentUris
import android.content.Context
import android.content.ContextWrapper
import android.content.Intent
@@ -9,7 +8,6 @@ import android.content.res.ColorStateList
import android.graphics.Bitmap
import android.net.Uri
import android.os.Bundle
-import android.provider.DocumentsContract
import android.provider.MediaStore.Images.Media
import android.provider.MediaStore.Images.Media.getBitmap
import android.text.TextUtils
@@ -123,10 +121,7 @@ class UserInfoActivity : AbsBaseActivity() {
pickImageIntent.putExtra("aspectY", 9)
pickImageIntent.putExtra("scale", true)
//intent.setAction(Intent.ACTION_GET_CONTENT);
- startActivityForResult(
- Intent.createChooser(pickImageIntent, "Select Picture"),
- PICK_BANNER_REQUEST
- )
+ startActivityForResult(Intent.createChooser(pickImageIntent, "Select Picture"), PICK_BANNER_REQUEST)
}
private fun pickNewPhoto() {
@@ -138,10 +133,7 @@ class UserInfoActivity : AbsBaseActivity() {
pickImageIntent.putExtra("aspectX", 1)
pickImageIntent.putExtra("aspectY", 1)
pickImageIntent.putExtra("scale", true)
- startActivityForResult(
- Intent.createChooser(pickImageIntent, "Select Picture"),
- PICK_IMAGE_REQUEST
- )
+ startActivityForResult(Intent.createChooser(pickImageIntent, "Select Picture"), PICK_IMAGE_REQUEST)
}
public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
@@ -180,32 +172,6 @@ class UserInfoActivity : AbsBaseActivity() {
}
}
- private fun getImagePathFromUri(aUri: Uri?): String? {
- var imagePath: String? = null
- if (aUri == null) {
- return imagePath
- }
- if (DocumentsContract.isDocumentUri(App.getContext(), aUri)) {
- val documentId = DocumentsContract.getDocumentId(aUri)
- if ("com.android.providers.media.documents" == aUri.authority) {
- val id = documentId.split(":".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()[1]
- val selection = Media._ID + "=" + id
- imagePath = getImagePath(Media.EXTERNAL_CONTENT_URI, selection)
- } else if ("com.android.providers.downloads.documents" == aUri.authority) {
- val contentUri = ContentUris.withAppendedId(
- Uri.parse("content://downloads/public_downloads"),
- java.lang.Long.valueOf(documentId)
- )
- imagePath = getImagePath(contentUri, null)
- }
- } else if ("content".equals(aUri.scheme!!, ignoreCase = true)) {
- imagePath = getImagePath(aUri, null)
- } else if ("file".equals(aUri.scheme!!, ignoreCase = true)) {
- imagePath = aUri.path
- }
- return imagePath
- }
-
private fun getImagePath(aUri: Uri, aSelection: String?): String? {
var path: String? = null
val cursor = App.getContext().contentResolver.query(aUri, null, aSelection, null, null)
@@ -219,27 +185,25 @@ class UserInfoActivity : AbsBaseActivity() {
}
private fun loadBannerFromStorage(profileImagePath: String) {
- disposable.add(
- Compressor(this).setQuality(100).setCompressFormat(Bitmap.CompressFormat.WEBP).compressToBitmapAsFlowable(
- File(profileImagePath, USER_BANNER)
- ).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(
- { bitmap -> bannerImage.setImageBitmap(bitmap) },
- { t -> println() })
+ disposable.add(Compressor(this).setQuality(100)
+ .setCompressFormat(Bitmap.CompressFormat.WEBP)
+ .compressToBitmapAsFlowable(File(profileImagePath, USER_BANNER))
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe({ bitmap -> bannerImage.setImageBitmap(bitmap) }, { t -> println(t) })
)
}
private fun loadImageFromStorage(path: String) {
- disposable.add(
- Compressor(this).setMaxHeight(300).setMaxWidth(300).setQuality(75).setCompressFormat(
- Bitmap.CompressFormat.WEBP
- ).compressToBitmapAsFlowable(
- File(
- path,
- USER_PROFILE
- )
- ).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(
- { bitmap -> userImage!!.setImageBitmap(bitmap) },
- { t -> println() })
+ disposable.add(Compressor(this)
+ .setMaxHeight(300)
+ .setMaxWidth(300)
+ .setQuality(75)
+ .setCompressFormat(Bitmap.CompressFormat.WEBP)
+ .compressToBitmapAsFlowable(File(path, USER_PROFILE))
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe({ bitmap -> userImage.setImageBitmap(bitmap) }, { t -> println(t) })
)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/BugReportActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/BugReportActivity.kt
index 37106a529..a8a578094 100644
--- a/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/BugReportActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/BugReportActivity.kt
@@ -48,284 +48,284 @@ private const val RESULT_ISSUES_NOT_ENABLED = "RESULT_ISSUES_NOT_ENABLED"
private const val RESULT_UNKNOWN = "RESULT_UNKNOWN"
@StringDef(
- RESULT_SUCCESS,
- RESULT_BAD_CREDENTIALS,
- RESULT_INVALID_TOKEN,
- RESULT_ISSUES_NOT_ENABLED,
- RESULT_UNKNOWN
+ RESULT_SUCCESS,
+ RESULT_BAD_CREDENTIALS,
+ RESULT_INVALID_TOKEN,
+ RESULT_ISSUES_NOT_ENABLED,
+ RESULT_UNKNOWN
)
@Retention(AnnotationRetention.SOURCE)
private annotation class Result
open class BugReportActivity : AbsThemeActivity() {
- private var deviceInfo: DeviceInfo? = null
+ private var deviceInfo: DeviceInfo? = null
- override fun onCreate(savedInstanceState: Bundle?) {
- setDrawUnderStatusBar()
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_bug_report)
- setStatusbarColorAuto()
- setNavigationbarColorAuto()
- setTaskDescriptionColorAuto()
+ override fun onCreate(savedInstanceState: Bundle?) {
+ setDrawUnderStatusBar()
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_bug_report)
+ setStatusbarColorAuto()
+ setNavigationbarColorAuto()
+ setTaskDescriptionColorAuto()
- initViews()
+ initViews()
- if (TextUtils.isEmpty(title)) setTitle(R.string.report_an_issue)
+ if (TextUtils.isEmpty(title)) setTitle(R.string.report_an_issue)
- deviceInfo = DeviceInfo(this)
- airTextDeviceInfo.text = deviceInfo.toString()
- }
+ deviceInfo = DeviceInfo(this)
+ airTextDeviceInfo.text = deviceInfo.toString()
+ }
- private fun initViews() {
- val accentColor = ThemeStore.accentColor(this)
- val primaryColor = ATHUtil.resolveColor(this, R.attr.colorSurface)
- toolbar.setBackgroundColor(primaryColor)
- setSupportActionBar(toolbar)
- ToolbarContentTintHelper.colorBackButton(toolbar)
- supportActionBar?.setDisplayHomeAsUpEnabled(true)
- TintHelper.setTintAuto(optionUseAccount, accentColor, false)
- optionUseAccount?.setOnClickListener {
- inputTitle.isEnabled = true
- inputDescription.isEnabled = true
- inputUsername.isEnabled = true
- inputPassword.isEnabled = true
+ private fun initViews() {
+ val accentColor = ThemeStore.accentColor(this)
+ val primaryColor = ATHUtil.resolveColor(this, R.attr.colorSurface)
+ toolbar.setBackgroundColor(primaryColor)
+ setSupportActionBar(toolbar)
+ ToolbarContentTintHelper.colorBackButton(toolbar)
+ supportActionBar?.setDisplayHomeAsUpEnabled(true)
+ TintHelper.setTintAuto(optionUseAccount, accentColor, false)
+ optionUseAccount?.setOnClickListener {
+ inputTitle.isEnabled = true
+ inputDescription.isEnabled = true
+ inputUsername.isEnabled = true
+ inputPassword.isEnabled = true
- optionAnonymous.isChecked = false
- sendFab.hide(object : FloatingActionButton.OnVisibilityChangedListener() {
- override fun onHidden(fab: FloatingActionButton?) {
- super.onHidden(fab)
- sendFab.setImageResource(R.drawable.ic_send_white_24dp)
- sendFab.show()
- }
- })
- }
- TintHelper.setTintAuto(optionAnonymous, accentColor, false)
- optionAnonymous.setOnClickListener {
- inputTitle.isEnabled = false
- inputDescription.isEnabled = false
- inputUsername.isEnabled = false
- inputPassword.isEnabled = false
+ optionAnonymous.isChecked = false
+ sendFab.hide(object : FloatingActionButton.OnVisibilityChangedListener() {
+ override fun onHidden(fab: FloatingActionButton?) {
+ super.onHidden(fab)
+ sendFab.setImageResource(R.drawable.ic_send_white_24dp)
+ sendFab.show()
+ }
+ })
+ }
+ TintHelper.setTintAuto(optionAnonymous, accentColor, false)
+ optionAnonymous.setOnClickListener {
+ inputTitle.isEnabled = false
+ inputDescription.isEnabled = false
+ inputUsername.isEnabled = false
+ inputPassword.isEnabled = false
- optionUseAccount.isChecked = false
- sendFab.hide(object : FloatingActionButton.OnVisibilityChangedListener() {
- override fun onHidden(fab: FloatingActionButton?) {
- super.onHidden(fab)
- sendFab.setImageResource(R.drawable.ic_open_in_browser_white_24dp)
- sendFab.show()
- }
- })
- }
+ optionUseAccount.isChecked = false
+ sendFab.hide(object : FloatingActionButton.OnVisibilityChangedListener() {
+ override fun onHidden(fab: FloatingActionButton?) {
+ super.onHidden(fab)
+ sendFab.setImageResource(R.drawable.ic_open_in_browser_white_24dp)
+ sendFab.show()
+ }
+ })
+ }
- inputPassword.setOnEditorActionListener { _, actionId, _ ->
- if (actionId == EditorInfo.IME_ACTION_SEND) {
- reportIssue()
- return@setOnEditorActionListener true
- }
- false
- }
+ inputPassword.setOnEditorActionListener { _, actionId, _ ->
+ if (actionId == EditorInfo.IME_ACTION_SEND) {
+ reportIssue()
+ return@setOnEditorActionListener true
+ }
+ false
+ }
- airTextDeviceInfo.setOnClickListener { copyDeviceInfoToClipBoard() }
+ airTextDeviceInfo.setOnClickListener { copyDeviceInfoToClipBoard() }
- TintHelper.setTintAuto(sendFab, accentColor, true)
- sendFab.setOnClickListener { reportIssue() }
+ TintHelper.setTintAuto(sendFab, accentColor, true)
+ sendFab.setOnClickListener { reportIssue() }
- MaterialUtil.setTint(inputLayoutTitle, false)
- MaterialUtil.setTint(inputLayoutDescription, false)
- MaterialUtil.setTint(inputLayoutUsername, false)
- MaterialUtil.setTint(inputLayoutPassword, false)
- }
+ MaterialUtil.setTint(inputLayoutTitle, false)
+ MaterialUtil.setTint(inputLayoutDescription, false)
+ MaterialUtil.setTint(inputLayoutUsername, false)
+ MaterialUtil.setTint(inputLayoutPassword, false)
+ }
- private fun reportIssue() {
- if (optionUseAccount.isChecked) {
- if (!validateInput()) return
- val username = inputUsername.text.toString()
- val password = inputPassword.text.toString()
- sendBugReport(GithubLogin(username, password))
- } else {
- copyDeviceInfoToClipBoard()
+ private fun reportIssue() {
+ if (optionUseAccount.isChecked) {
+ if (!validateInput()) return
+ val username = inputUsername.text.toString()
+ val password = inputPassword.text.toString()
+ sendBugReport(GithubLogin(username, password))
+ } else {
+ copyDeviceInfoToClipBoard()
- val i = Intent(Intent.ACTION_VIEW)
- i.data = Uri.parse(ISSUE_TRACKER_LINK)
- i.flags = Intent.FLAG_ACTIVITY_NEW_TASK
- startActivity(i)
- }
- }
+ val i = Intent(Intent.ACTION_VIEW)
+ i.data = Uri.parse(ISSUE_TRACKER_LINK)
+ i.flags = Intent.FLAG_ACTIVITY_NEW_TASK
+ startActivity(i)
+ }
+ }
- private fun copyDeviceInfoToClipBoard() {
- val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
- val clip = ClipData.newPlainText(getString(R.string.device_info), deviceInfo?.toMarkdown())
- clipboard.primaryClip = clip
- Toast.makeText(
- this@BugReportActivity,
- R.string.copied_device_info_to_clipboard,
- Toast.LENGTH_LONG
- ).show()
- }
+ private fun copyDeviceInfoToClipBoard() {
+ val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
+ val clip = ClipData.newPlainText(getString(R.string.device_info), deviceInfo?.toMarkdown())
+ clipboard.setPrimaryClip(clip)
+ Toast.makeText(
+ this@BugReportActivity,
+ R.string.copied_device_info_to_clipboard,
+ Toast.LENGTH_LONG
+ ).show()
+ }
- private fun validateInput(): Boolean {
- var hasErrors = false
+ private fun validateInput(): Boolean {
+ var hasErrors = false
- if (optionUseAccount.isChecked) {
- if (TextUtils.isEmpty(inputUsername.text)) {
- setError(inputLayoutUsername, R.string.bug_report_no_username)
- hasErrors = true
- } else {
- removeError(inputLayoutUsername)
- }
+ if (optionUseAccount.isChecked) {
+ if (TextUtils.isEmpty(inputUsername.text)) {
+ setError(inputLayoutUsername, R.string.bug_report_no_username)
+ hasErrors = true
+ } else {
+ removeError(inputLayoutUsername)
+ }
- if (TextUtils.isEmpty(inputPassword.text)) {
- setError(inputLayoutPassword, R.string.bug_report_no_password)
- hasErrors = true
- } else {
- removeError(inputLayoutPassword)
- }
- }
+ if (TextUtils.isEmpty(inputPassword.text)) {
+ setError(inputLayoutPassword, R.string.bug_report_no_password)
+ hasErrors = true
+ } else {
+ removeError(inputLayoutPassword)
+ }
+ }
- if (TextUtils.isEmpty(inputTitle.text)) {
- setError(inputLayoutTitle, R.string.bug_report_no_title)
- hasErrors = true
- } else {
- removeError(inputLayoutTitle)
- }
+ if (TextUtils.isEmpty(inputTitle.text)) {
+ setError(inputLayoutTitle, R.string.bug_report_no_title)
+ hasErrors = true
+ } else {
+ removeError(inputLayoutTitle)
+ }
- if (TextUtils.isEmpty(inputDescription.text)) {
- setError(inputLayoutDescription, R.string.bug_report_no_description)
- hasErrors = true
- } else {
- removeError(inputLayoutDescription)
- }
+ if (TextUtils.isEmpty(inputDescription.text)) {
+ setError(inputLayoutDescription, R.string.bug_report_no_description)
+ hasErrors = true
+ } else {
+ removeError(inputLayoutDescription)
+ }
- return !hasErrors
- }
+ return !hasErrors
+ }
- private fun setError(editTextLayout: TextInputLayout, @StringRes errorRes: Int) {
- editTextLayout.error = getString(errorRes)
- }
+ private fun setError(editTextLayout: TextInputLayout, @StringRes errorRes: Int) {
+ editTextLayout.error = getString(errorRes)
+ }
- private fun removeError(editTextLayout: TextInputLayout) {
- editTextLayout.error = null
- }
+ private fun removeError(editTextLayout: TextInputLayout) {
+ editTextLayout.error = null
+ }
- private fun sendBugReport(login: GithubLogin) {
- if (!validateInput()) return
+ private fun sendBugReport(login: GithubLogin) {
+ if (!validateInput()) return
- val bugTitle = inputTitle.text.toString()
- val bugDescription = inputDescription.text.toString()
+ val bugTitle = inputTitle.text.toString()
+ val bugDescription = inputDescription.text.toString()
- val extraInfo = ExtraInfo()
- onSaveExtraInfo()
+ val extraInfo = ExtraInfo()
+ onSaveExtraInfo()
- val report = Report(bugTitle, bugDescription, deviceInfo, extraInfo)
- val target = GithubTarget("h4h13", "RetroMusicPlayer")
+ val report = Report(bugTitle, bugDescription, deviceInfo, extraInfo)
+ val target = GithubTarget("h4h13", "RetroMusicPlayer")
- ReportIssueAsyncTask.report(this, report, target, login)
- }
+ ReportIssueAsyncTask.report(this, report, target, login)
+ }
- private fun onSaveExtraInfo() {}
+ private fun onSaveExtraInfo() {}
- override fun onOptionsItemSelected(item: MenuItem): Boolean {
- if (item.itemId == android.R.id.home) {
- onBackPressed()
- }
- return super.onOptionsItemSelected(item)
- }
+ override fun onOptionsItemSelected(item: MenuItem): Boolean {
+ if (item.itemId == android.R.id.home) {
+ onBackPressed()
+ }
+ return super.onOptionsItemSelected(item)
+ }
- private class ReportIssueAsyncTask private constructor(
- activity: Activity,
- private val report: Report,
- private val target: GithubTarget,
- private val login: GithubLogin
- ) : DialogAsyncTask(activity) {
- override fun createDialog(context: Context): Dialog {
- return AlertDialog.Builder(context).show()
- }
+ private class ReportIssueAsyncTask private constructor(
+ activity: Activity,
+ private val report: Report,
+ private val target: GithubTarget,
+ private val login: GithubLogin
+ ) : DialogAsyncTask(activity) {
+ override fun createDialog(context: Context): Dialog {
+ return AlertDialog.Builder(context).show()
+ }
- @Result
- override fun doInBackground(vararg params: Void): String {
- val client: GitHubClient = if (login.shouldUseApiToken()) {
- GitHubClient().setOAuth2Token(login.apiToken)
- } else {
- GitHubClient().setCredentials(login.username, login.password)
- }
+ @Result
+ override fun doInBackground(vararg params: Void): String {
+ val client: GitHubClient = if (login.shouldUseApiToken()) {
+ GitHubClient().setOAuth2Token(login.apiToken)
+ } else {
+ GitHubClient().setCredentials(login.username, login.password)
+ }
- val issue = Issue().setTitle(report.title).setBody(report.description)
- try {
- IssueService(client).createIssue(target.username, target.repository, issue)
- return RESULT_SUCCESS
- } catch (e: RequestException) {
- return when (e.status) {
- STATUS_BAD_CREDENTIALS -> {
- if (login.shouldUseApiToken()) RESULT_INVALID_TOKEN else RESULT_BAD_CREDENTIALS
- }
- STATUS_ISSUES_NOT_ENABLED -> RESULT_ISSUES_NOT_ENABLED
- else -> {
- e.printStackTrace()
- RESULT_UNKNOWN
- }
- }
- } catch (e: IOException) {
- e.printStackTrace()
- return RESULT_UNKNOWN
- }
+ val issue = Issue().setTitle(report.title).setBody(report.description)
+ try {
+ IssueService(client).createIssue(target.username, target.repository, issue)
+ return RESULT_SUCCESS
+ } catch (e: RequestException) {
+ return when (e.status) {
+ STATUS_BAD_CREDENTIALS -> {
+ if (login.shouldUseApiToken()) RESULT_INVALID_TOKEN else RESULT_BAD_CREDENTIALS
+ }
+ STATUS_ISSUES_NOT_ENABLED -> RESULT_ISSUES_NOT_ENABLED
+ else -> {
+ e.printStackTrace()
+ RESULT_UNKNOWN
+ }
+ }
+ } catch (e: IOException) {
+ e.printStackTrace()
+ return RESULT_UNKNOWN
+ }
- }
+ }
- override fun onPostExecute(@Result result: String) {
- super.onPostExecute(result)
+ override fun onPostExecute(@Result result: String) {
+ super.onPostExecute(result)
- val context = context ?: return
+ val context = context ?: return
- when (result) {
- RESULT_SUCCESS -> tryToFinishActivity()
- RESULT_BAD_CREDENTIALS -> MaterialDialog(context).show {
- title(R.string.bug_report_failed)
- message(R.string.bug_report_failed_wrong_credentials)
- positiveButton(android.R.string.ok)
- }
- RESULT_INVALID_TOKEN -> MaterialDialog(context).show {
- title(R.string.bug_report_failed)
- message(R.string.bug_report_failed_invalid_token)
- positiveButton(android.R.string.ok)
- }
- RESULT_ISSUES_NOT_ENABLED -> MaterialDialog(context).show {
- title(R.string.bug_report_failed)
- message(R.string.bug_report_failed_issues_not_available)
- positiveButton(android.R.string.ok)
- }
- else -> MaterialDialog(context).show {
- title(R.string.bug_report_failed)
- message(R.string.bug_report_failed_unknown)
- positiveButton(android.R.string.ok) { tryToFinishActivity() }
- onCancel { tryToFinishActivity() }
- }
- }
- }
+ when (result) {
+ RESULT_SUCCESS -> tryToFinishActivity()
+ RESULT_BAD_CREDENTIALS -> MaterialDialog(context).show {
+ title(R.string.bug_report_failed)
+ message(R.string.bug_report_failed_wrong_credentials)
+ positiveButton(android.R.string.ok)
+ }
+ RESULT_INVALID_TOKEN -> MaterialDialog(context).show {
+ title(R.string.bug_report_failed)
+ message(R.string.bug_report_failed_invalid_token)
+ positiveButton(android.R.string.ok)
+ }
+ RESULT_ISSUES_NOT_ENABLED -> MaterialDialog(context).show {
+ title(R.string.bug_report_failed)
+ message(R.string.bug_report_failed_issues_not_available)
+ positiveButton(android.R.string.ok)
+ }
+ else -> MaterialDialog(context).show {
+ title(R.string.bug_report_failed)
+ message(R.string.bug_report_failed_unknown)
+ positiveButton(android.R.string.ok) { tryToFinishActivity() }
+ onCancel { tryToFinishActivity() }
+ }
+ }
+ }
- private fun tryToFinishActivity() {
- val context = context
- if (context is Activity && !context.isFinishing) {
- context.finish()
- }
- }
+ private fun tryToFinishActivity() {
+ val context = context
+ if (context is Activity && !context.isFinishing) {
+ context.finish()
+ }
+ }
- companion object {
+ companion object {
- fun report(
- activity: Activity,
- report: Report,
- target: GithubTarget,
- login: GithubLogin
- ) {
- ReportIssueAsyncTask(activity, report, target, login).execute()
- }
- }
- }
+ fun report(
+ activity: Activity,
+ report: Report,
+ target: GithubTarget,
+ login: GithubLogin
+ ) {
+ ReportIssueAsyncTask(activity, report, target, login).execute()
+ }
+ }
+ }
- companion object {
+ companion object {
- private const val STATUS_BAD_CREDENTIALS = 401
- private const val STATUS_ISSUES_NOT_ENABLED = 410
- private const val ISSUE_TRACKER_LINK = "https://github.com/h4h13/RetroMusicPlayer"
- }
+ private const val STATUS_BAD_CREDENTIALS = 401
+ private const val STATUS_ISSUES_NOT_ENABLED = 410
+ private const val ISSUE_TRACKER_LINK = "https://github.com/h4h13/RetroMusicPlayer"
+ }
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/OptionsSheetDialogFragment.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/OptionsSheetDialogFragment.kt
index fc20026ab..1ccba1a24 100644
--- a/app/src/main/java/code/name/monkey/retromusic/dialogs/OptionsSheetDialogFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/OptionsSheetDialogFragment.kt
@@ -86,7 +86,6 @@ class OptionsSheetDialogFragment : DialogFragment(), View.OnClickListener {
}
return super.onCreateView(inflater, container, savedInstanceState)
-
}
companion object {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/folders/FoldersFragment.java b/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/folders/FoldersFragment.java
index 29b1d4b6e..2f2e84aad 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/folders/FoldersFragment.java
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/folders/FoldersFragment.java
@@ -3,6 +3,7 @@ package code.name.monkey.retromusic.fragments.mainactivity.folders;
import android.app.ActivityOptions;
import android.app.Dialog;
import android.content.Context;
+import android.content.res.ColorStateList;
import android.media.MediaScannerConnection;
import android.os.Bundle;
import android.os.Environment;
@@ -231,15 +232,14 @@ public class FoldersFragment extends AbsMainActivityFragment implements
private void setUpAppbarColor() {
int primaryColor = ATHUtil.INSTANCE.resolveColor(requireContext(), R.attr.colorSurface);
getMainActivity().setSupportActionBar(toolbar);
- toolbar.setBackgroundColor(RetroColorUtil.toolbarColor(getMainActivity()));
+ toolbar.setBackgroundTintList(ColorStateList.valueOf(ATHUtil.INSTANCE.resolveColor(requireContext(), R.attr.colorSurface)));
toolbar.setNavigationIcon(R.drawable.ic_menu_white_24dp);
toolbar.setNavigationOnClickListener(v -> {
showMainMenu(OptionsSheetDialogFragment.FOLDER);
});
breadCrumbs.setActivatedContentColor(ToolbarContentTintHelper.toolbarTitleColor(requireActivity(), ColorUtil.INSTANCE.darkenColor(primaryColor)));
- breadCrumbs.setDeactivatedContentColor(ToolbarContentTintHelper.toolbarSubtitleColor(requireActivity(),
- ColorUtil.INSTANCE.darkenColor(primaryColor)));
- appBarLayout.addOnOffsetChangedListener((appBarLayout, verticalOffset) -> getMainActivity().setLightStatusbar(!ATHUtil.INSTANCE.isWindowBackgroundDark(getContext())));
+ breadCrumbs.setDeactivatedContentColor(ToolbarContentTintHelper.toolbarSubtitleColor(requireActivity(), ColorUtil.INSTANCE.darkenColor(primaryColor)));
+ appBarLayout.addOnOffsetChangedListener((appBarLayout, verticalOffset) -> getMainActivity().setLightStatusbar(!ATHUtil.INSTANCE.isWindowBackgroundDark(requireContext())));
toolbar.setOnClickListener(v -> {
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(getMainActivity(), toolbarContainer, getString(R.string.transition_toolbar));
NavigationUtil.goToSearch(getMainActivity(), options);
diff --git a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt
index 236966f0d..bc8d802e2 100644
--- a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt
@@ -48,16 +48,8 @@ class PlayingNotificationImpl24 : PlayingNotification() {
val song = service.currentSong
val isPlaying = service.isPlaying
val isFavorite = MusicUtil.isFavorite(service, song)
- val playButtonResId = if (isPlaying)
- R.drawable.ic_pause_white_48dp
- else
- R.drawable.ic_play_arrow_white_48dp
-
- val favoriteResId = if (isFavorite)
- R.drawable.ic_favorite_white_24dp
- else
- R.drawable.ic_favorite_border_white_24dp
-
+ val playButtonResId = if (isPlaying) R.drawable.ic_pause_white_48dp else R.drawable.ic_play_arrow_white_48dp
+ val favoriteResId = if (isFavorite) R.drawable.ic_favorite_white_24dp else R.drawable.ic_favorite_border_white_24dp
val action = Intent(service, MainActivity::class.java)
action.putExtra("expand", true)
@@ -99,30 +91,10 @@ class PlayingNotificationImpl24 : PlayingNotification() {
bitmapFinal = BitmapFactory.decodeResource(service.resources, R.drawable.default_album_art)
}
-
- val toggleFavorite = NotificationCompat.Action(favoriteResId,
- service.getString(R.string.action_toggle_favorite),
- retrievePlaybackAction(TOGGLE_FAVORITE))
-
- val playPauseAction = NotificationCompat.Action(
- playButtonResId,
- service.getString(R.string.action_play_pause),
- retrievePlaybackAction(ACTION_TOGGLE_PAUSE))
-
- val closeAction = NotificationCompat.Action(
- R.drawable.ic_close_white_24dp,
- service.getString(R.string.close_notification),
- retrievePlaybackAction(ACTION_QUIT))
-
- val previousAction = NotificationCompat.Action(
- R.drawable.ic_skip_previous_round_white_32dp,
- service.getString(R.string.action_previous),
- retrievePlaybackAction(ACTION_REWIND))
-
- val nextAction = NotificationCompat.Action(
- R.drawable.ic_skip_next_round_white_32dp,
- service.getString(R.string.action_next),
- retrievePlaybackAction(ACTION_SKIP))
+ val toggleFavorite = NotificationCompat.Action(favoriteResId, service.getString(R.string.action_toggle_favorite), retrievePlaybackAction(TOGGLE_FAVORITE))
+ val playPauseAction = NotificationCompat.Action(playButtonResId, service.getString(R.string.action_play_pause), retrievePlaybackAction(ACTION_TOGGLE_PAUSE))
+ val previousAction = NotificationCompat.Action(R.drawable.ic_skip_previous_round_white_32dp, service.getString(R.string.action_previous), retrievePlaybackAction(ACTION_REWIND))
+ val nextAction = NotificationCompat.Action(R.drawable.ic_skip_next_round_white_32dp, service.getString(R.string.action_next), retrievePlaybackAction(ACTION_SKIP))
val builder = NotificationCompat.Builder(service,
NOTIFICATION_CHANNEL_ID)
@@ -139,7 +111,6 @@ class PlayingNotificationImpl24 : PlayingNotification() {
.addAction(previousAction)
.addAction(playPauseAction)
.addAction(nextAction)
- .addAction(closeAction)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
builder.setStyle(MediaStyle()
diff --git a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationOreo.kt b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationOreo.kt
index 1945ee0eb..b1e2185bd 100644
--- a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationOreo.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationOreo.kt
@@ -114,7 +114,7 @@ class PlayingNotificationOreo : PlayingNotification() {
override fun onLoadFailed(e: Exception?, errorDrawable: Drawable?) {
super.onLoadFailed(e, errorDrawable)
- update(null, ATHUtil.resolveColor(service, R.attr.colorPrimary, Color.WHITE))
+ update(null, ATHUtil.resolveColor(service, R.attr.colorSurface, Color.WHITE))
}
private fun update(bitmap: Bitmap?, bgColor: Int) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.java b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.java
index 3de74e1f6..428c0efe7 100644
--- a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.java
+++ b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.java
@@ -657,9 +657,7 @@ public final class PreferenceUtil {
}
public void saveProfileImage(String profileImagePath) {
- mPreferences.edit().putString(PROFILE_IMAGE_PATH, profileImagePath)
- .apply();
-
+ mPreferences.edit().putString(PROFILE_IMAGE_PATH, profileImagePath).apply();
}
public String getProfileImage() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/views/OptionMenuItemView.java b/app/src/main/java/code/name/monkey/retromusic/views/OptionMenuItemView.java
index 1d6f37c1d..1668d12a6 100644
--- a/app/src/main/java/code/name/monkey/retromusic/views/OptionMenuItemView.java
+++ b/app/src/main/java/code/name/monkey/retromusic/views/OptionMenuItemView.java
@@ -54,9 +54,6 @@ public class OptionMenuItemView extends FrameLayout {
public OptionMenuItemView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
- int accentColor = ThemeStore.Companion.accentColor(context);
- int colorWithAlpha = ColorUtil.INSTANCE.adjustAlpha(accentColor, 0.22f);
-
setBackground(ContextCompat.getDrawable(context, R.drawable.option_menu_background));
setClickable(true);
diff --git a/app/src/main/res/layout/item_album_card.xml b/app/src/main/res/layout/item_album_card.xml
index 2c593af6f..537ee4b4f 100644
--- a/app/src/main/res/layout/item_album_card.xml
+++ b/app/src/main/res/layout/item_album_card.xml
@@ -29,7 +29,6 @@
android:ellipsize="end"
android:maxLines="1"
android:paddingStart="12dp"
- android:paddingTop="6dp"
android:paddingEnd="8dp"
android:paddingBottom="4dp"
android:textAppearance="@style/TextViewNormal"
diff --git a/app/src/main/res/layout/item_contributor.xml b/app/src/main/res/layout/item_contributor.xml
index 519826ae7..597fb67ba 100644
--- a/app/src/main/res/layout/item_contributor.xml
+++ b/app/src/main/res/layout/item_contributor.xml
@@ -17,11 +17,12 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="?attr/rectSelector"
+ android:background="?selectableItemBackground"
android:gravity="center_vertical"
- android:minHeight="72dp"
+ android:minHeight="64dp"
android:orientation="horizontal"
- android:padding="12dp"
+ android:paddingStart="12dp"
+ android:paddingEnd="12dp"
tools:ignore="PrivateResource">
+ tools:text="@tools:sample/lorem" />
+ android:textColor="?android:attr/textColorSecondary"
+ tools:text="@tools:sample/lorem" />
diff --git a/app/src/main/res/layout/item_list.xml b/app/src/main/res/layout/item_list.xml
index 358d488bd..d1f2226a1 100755
--- a/app/src/main/res/layout/item_list.xml
+++ b/app/src/main/res/layout/item_list.xml
@@ -4,7 +4,10 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_margin="4dp"
+ android:layout_marginStart="4dp"
+ android:layout_marginTop="2dp"
+ android:layout_marginEnd="4dp"
+ android:layout_marginBottom="2dp"
android:clickable="true"
android:focusable="true"
android:foreground="?rectSelector"
diff --git a/app/src/main/res/layout/item_option_menu.xml b/app/src/main/res/layout/item_option_menu.xml
index 3d471c965..6d21f31be 100644
--- a/app/src/main/res/layout/item_option_menu.xml
+++ b/app/src/main/res/layout/item_option_menu.xml
@@ -30,7 +30,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
- android:padding="14dp"
+ android:padding="12dp"
app:tint="?attr/colorControlNormal"
tools:srcCompat="@drawable/ic_folder_white_24dp" />
diff --git a/app/src/main/res/layout/layout_notification_expanded.xml b/app/src/main/res/layout/layout_notification_expanded.xml
index 79d18062e..92783af39 100644
--- a/app/src/main/res/layout/layout_notification_expanded.xml
+++ b/app/src/main/res/layout/layout_notification_expanded.xml
@@ -16,6 +16,7 @@
android:id="@+id/largeIcon"
android:layout_width="@dimen/notification_big_image_size"
android:layout_height="@dimen/notification_big_image_size"
+ android:forceDarkAllowed="false"
android:layout_alignParentEnd="true"
android:scaleType="centerCrop"
tools:src="@tools:sample/avatars" />
diff --git a/app/src/main/res/layout/list_item_view.xml b/app/src/main/res/layout/list_item_view.xml
index 8f44627e1..7459be7b4 100644
--- a/app/src/main/res/layout/list_item_view.xml
+++ b/app/src/main/res/layout/list_item_view.xml
@@ -17,7 +17,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="?attr/rectSelector"
+ android:background="?selectableItemBackground"
android:minHeight="72dp"
android:orientation="horizontal"
android:padding="16dp"
diff --git a/app/src/main/res/values-night-v27/styles.xml b/app/src/main/res/values-night-v27/styles.xml
new file mode 100644
index 000000000..130a8f371
--- /dev/null
+++ b/app/src/main/res/values-night-v27/styles.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-night/styles.xml b/app/src/main/res/values-night/styles.xml
index af453f297..f2672d6ff 100644
--- a/app/src/main/res/values-night/styles.xml
+++ b/app/src/main/res/values-night/styles.xml
@@ -31,5 +31,6 @@
- @drawable/round_selector
- @drawable/rect_selector
- @style/Widget.ActionButton.Overflow
+ - false
\ No newline at end of file
diff --git a/app/src/main/res/values-v27/styles_parents.xml b/app/src/main/res/values-v27/styles_parents.xml
new file mode 100644
index 000000000..a73fb3a92
--- /dev/null
+++ b/app/src/main/res/values-v27/styles_parents.xml
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/styles_parents.xml b/app/src/main/res/values/styles_parents.xml
index 9862c2ec9..c2c7bdd49 100644
--- a/app/src/main/res/values/styles_parents.xml
+++ b/app/src/main/res/values/styles_parents.xml
@@ -29,15 +29,16 @@
- true
- @font/circular
- true
+ - @style/ThemeOverlay.AppCompat.Dark
- @style/ThemeOverlay.AppCompat.Dark
- @drawable/round_selector_dark
- @drawable/rect_selector_dark
- - @style/ThemeOverlay.AppCompat
- @style/Widget.ActionButton.Overflow
- @style/PreferenceThemeOverlay.v14.Material
- false
- @style/MaterialAlertDialogTheme
- @style/MaterialButtonTheme
+
diff --git a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ToolbarContentTintHelper.java b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ToolbarContentTintHelper.java
index df57fb0f6..5fb476c99 100755
--- a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ToolbarContentTintHelper.java
+++ b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ToolbarContentTintHelper.java
@@ -199,18 +199,24 @@ public final class ToolbarContentTintHelper {
}
public static void setToolbarContentColorBasedOnToolbarColor(@NonNull Context context,
- Toolbar toolbar, int toolbarColor) {
+ Toolbar toolbar,
+ int toolbarColor) {
setToolbarContentColorBasedOnToolbarColor(context, toolbar, null, toolbarColor);
}
public static void setToolbarContentColorBasedOnToolbarColor(@NonNull Context context,
- Toolbar toolbar, @Nullable Menu menu, int toolbarColor) {
+ Toolbar toolbar,
+ @Nullable Menu menu,
+ int toolbarColor) {
setToolbarContentColorBasedOnToolbarColor(context, toolbar, menu, toolbarColor,
ThemeStore.Companion.accentColor(context));
}
public static void setToolbarContentColorBasedOnToolbarColor(@NonNull Context context,
- Toolbar toolbar, @Nullable Menu menu, int toolbarColor, final @ColorInt int menuWidgetColor) {
+ Toolbar toolbar,
+ @Nullable Menu menu,
+ int toolbarColor,
+ final @ColorInt int menuWidgetColor) {
setToolbarContentColor(context, toolbar, menu, toolbarContentColor(context, toolbarColor),
toolbarTitleColor(context, toolbarColor), toolbarSubtitleColor(context, toolbarColor),
menuWidgetColor);