Color accents and UI improvements
This commit is contained in:
parent
326d744925
commit
b07608092c
|
@ -175,7 +175,7 @@ dependencies {
|
|||
|
||||
|
||||
implementation 'info.androidhive:imagefilters:1.0.7'
|
||||
implementation 'com.github.yalantis:ucrop:2.2.6-native'
|
||||
implementation 'com.github.yalantis:ucrop:2.2.8-native'
|
||||
|
||||
implementation('com.github.bumptech.glide:glide:4.13.2') {
|
||||
exclude group: "com.android.support"
|
||||
|
|
|
@ -10,22 +10,22 @@ import android.view.View
|
|||
import android.view.inputmethod.InputMethodManager
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.paging.ExperimentalPagingApi
|
||||
import androidx.work.OneTimeWorkRequestBuilder
|
||||
import androidx.work.WorkManager
|
||||
import kotlinx.coroutines.Deferred
|
||||
import kotlinx.coroutines.async
|
||||
import kotlinx.coroutines.coroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
import org.pixeldroid.app.databinding.ActivityLoginBinding
|
||||
import org.pixeldroid.app.utils.*
|
||||
import org.pixeldroid.app.utils.api.PixelfedAPI
|
||||
import org.pixeldroid.app.utils.api.objects.*
|
||||
import org.pixeldroid.app.utils.api.objects.Application
|
||||
import org.pixeldroid.app.utils.api.objects.Instance
|
||||
import org.pixeldroid.app.utils.api.objects.NodeInfo
|
||||
import org.pixeldroid.app.utils.db.addUser
|
||||
import org.pixeldroid.app.utils.db.storeInstance
|
||||
import kotlinx.coroutines.*
|
||||
import org.pixeldroid.app.utils.notificationsWorker.NotificationsWorker
|
||||
import org.pixeldroid.app.utils.notificationsWorker.makeChannelGroupId
|
||||
import org.pixeldroid.app.utils.notificationsWorker.makeNotificationChannels
|
||||
import retrofit2.HttpException
|
||||
import java.io.IOException
|
||||
import java.lang.IllegalArgumentException
|
||||
import java.lang.NullPointerException
|
||||
|
||||
/**
|
||||
Overview of the flow of the login process: (boxes are requests done in parallel,
|
||||
|
@ -42,7 +42,7 @@ since they do not depend on each other)
|
|||
|
||||
*/
|
||||
|
||||
class LoginActivity : BaseActivity() {
|
||||
class LoginActivity : BaseThemedWithoutBarActivity() {
|
||||
|
||||
companion object {
|
||||
private const val PACKAGE_ID = BuildConfig.APPLICATION_ID
|
||||
|
|
|
@ -12,15 +12,13 @@ import android.widget.ImageView
|
|||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.GravityCompat
|
||||
import androidx.core.view.forEach
|
||||
import androidx.core.view.forEachIndexed
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.paging.ExperimentalPagingApi
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter
|
||||
import androidx.viewpager2.widget.ViewPager2
|
||||
import androidx.viewpager2.widget.ViewPager2.*
|
||||
import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
|
||||
import com.bumptech.glide.Glide
|
||||
import com.google.android.material.bottomnavigation.BottomNavigationView
|
||||
import com.mikepenz.iconics.typeface.library.googlematerial.GoogleMaterial
|
||||
|
@ -42,7 +40,7 @@ import org.pixeldroid.app.posts.feeds.cachedFeeds.postFeeds.PostFeedFragment
|
|||
import org.pixeldroid.app.profile.ProfileActivity
|
||||
import org.pixeldroid.app.searchDiscover.SearchDiscoverFragment
|
||||
import org.pixeldroid.app.settings.SettingsActivity
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
import org.pixeldroid.app.utils.BaseThemedWithoutBarActivity
|
||||
import org.pixeldroid.app.utils.db.addUser
|
||||
import org.pixeldroid.app.utils.db.entities.HomeStatusDatabaseEntity
|
||||
import org.pixeldroid.app.utils.db.entities.PublicFeedStatusDatabaseEntity
|
||||
|
@ -57,7 +55,7 @@ import retrofit2.HttpException
|
|||
import java.io.IOException
|
||||
|
||||
|
||||
class MainActivity : BaseActivity() {
|
||||
class MainActivity : BaseThemedWithoutBarActivity() {
|
||||
|
||||
private lateinit var header: AccountHeaderView
|
||||
private var user: UserDatabaseEntity? = null
|
||||
|
@ -71,7 +69,6 @@ class MainActivity : BaseActivity() {
|
|||
|
||||
@OptIn(ExperimentalPagingApi::class)
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
setTheme(R.style.AppTheme_NoActionBar)
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = ActivityMainBinding.inflate(layoutInflater)
|
||||
setContentView(binding.root)
|
||||
|
|
|
@ -2,7 +2,9 @@ package org.pixeldroid.app.postCreation
|
|||
|
||||
import android.app.Activity
|
||||
import android.app.AlertDialog
|
||||
import android.content.*
|
||||
import android.content.ContentResolver
|
||||
import android.content.ContentValues
|
||||
import android.content.Intent
|
||||
import android.media.MediaScannerConnection
|
||||
import android.net.Uri
|
||||
import android.os.*
|
||||
|
@ -26,7 +28,6 @@ import androidx.lifecycle.repeatOnLifecycle
|
|||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.arthenica.ffmpegkit.*
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import kotlinx.coroutines.flow.collect
|
||||
import kotlinx.coroutines.launch
|
||||
import org.pixeldroid.app.R
|
||||
import org.pixeldroid.app.databinding.ActivityPostCreationBinding
|
||||
|
@ -34,7 +35,7 @@ import org.pixeldroid.app.postCreation.camera.CameraActivity
|
|||
import org.pixeldroid.app.postCreation.carousel.CarouselItem
|
||||
import org.pixeldroid.app.postCreation.photoEdit.PhotoEditActivity
|
||||
import org.pixeldroid.app.postCreation.photoEdit.VideoEditActivity
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
import org.pixeldroid.app.utils.BaseThemedWithoutBarActivity
|
||||
import org.pixeldroid.app.utils.db.entities.InstanceDatabaseEntity
|
||||
import org.pixeldroid.app.utils.db.entities.UserDatabaseEntity
|
||||
import org.pixeldroid.app.utils.ffmpegSafeUri
|
||||
|
@ -58,7 +59,7 @@ data class PhotoData(
|
|||
var videoEncodeProgress: Int? = null,
|
||||
)
|
||||
|
||||
class PostCreationActivity : BaseActivity() {
|
||||
class PostCreationActivity : BaseThemedWithoutBarActivity() {
|
||||
|
||||
private var user: UserDatabaseEntity? = null
|
||||
private lateinit var instance: InstanceDatabaseEntity
|
||||
|
|
|
@ -3,13 +3,12 @@ package org.pixeldroid.app.postCreation.camera
|
|||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.MenuItem
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import org.pixeldroid.app.MainActivity
|
||||
import org.pixeldroid.app.R
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
import org.pixeldroid.app.utils.BaseThemedWithBarActivity
|
||||
|
||||
|
||||
class CameraActivity : BaseActivity() {
|
||||
class CameraActivity : BaseThemedWithBarActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_camera)
|
||||
|
@ -32,7 +31,7 @@ class CameraActivity : BaseActivity() {
|
|||
* [org.pixeldroid.app.postCreation.PostCreationActivity] instead of "returning" to a non-existent
|
||||
* [org.pixeldroid.app.postCreation.PostCreationActivity]
|
||||
*/
|
||||
class CameraActivityShortcut : AppCompatActivity() {
|
||||
class CameraActivityShortcut : BaseThemedWithBarActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_camera)
|
||||
|
|
|
@ -256,8 +256,7 @@ class ImageCarousel(
|
|||
if(value){
|
||||
recyclerView.layoutManager = CarouselLinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
|
||||
|
||||
binding.btnNext.visibility = VISIBLE
|
||||
binding.btnPrevious.visibility = VISIBLE
|
||||
showNavigationButtons = showNavigationButtons
|
||||
|
||||
binding.editMediaDescriptionLayout.visibility = if(editingMediaDescription) VISIBLE else INVISIBLE
|
||||
tvCaption.visibility = if(editingMediaDescription) INVISIBLE else VISIBLE
|
||||
|
@ -395,7 +394,7 @@ class ImageCarousel(
|
|||
|
||||
showNavigationButtons = getBoolean(
|
||||
R.styleable.ImageCarousel_showNavigationButtons,
|
||||
true
|
||||
false
|
||||
)
|
||||
|
||||
layoutCarousel = getBoolean(
|
||||
|
@ -561,6 +560,7 @@ class ImageCarousel(
|
|||
|
||||
initOnScrollStateChange()
|
||||
}
|
||||
showNavigationButtons = data.size != 1
|
||||
}
|
||||
|
||||
fun updateProgress(progress: Int?, position: Int, error: Boolean){
|
||||
|
|
|
@ -5,10 +5,12 @@ import android.app.AlertDialog
|
|||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.Color
|
||||
import android.graphics.Point
|
||||
import android.graphics.drawable.BitmapDrawable
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.util.TypedValue
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import android.view.View.GONE
|
||||
|
@ -17,17 +19,19 @@ import android.widget.Toast
|
|||
import androidx.core.app.ActivityCompat
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.bumptech.glide.Glide
|
||||
import com.google.android.material.color.MaterialColors
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import org.pixeldroid.app.R
|
||||
import org.pixeldroid.app.databinding.ActivityPhotoEditBinding
|
||||
import org.pixeldroid.app.postCreation.PostCreationActivity
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
import com.yalantis.ucrop.UCrop
|
||||
import com.zomato.photofilters.imageprocessors.Filter
|
||||
import com.zomato.photofilters.imageprocessors.subfilters.BrightnessSubFilter
|
||||
import com.zomato.photofilters.imageprocessors.subfilters.ContrastSubFilter
|
||||
import com.zomato.photofilters.imageprocessors.subfilters.SaturationSubfilter
|
||||
import org.pixeldroid.app.R
|
||||
import org.pixeldroid.app.databinding.ActivityPhotoEditBinding
|
||||
import org.pixeldroid.app.postCreation.PostCreationActivity
|
||||
import org.pixeldroid.app.utils.BaseThemedWithBarActivity
|
||||
import org.pixeldroid.app.utils.bitmapFromUri
|
||||
import org.pixeldroid.app.utils.getColorFromAttr
|
||||
import java.io.File
|
||||
import java.io.IOException
|
||||
import java.io.OutputStream
|
||||
|
@ -44,7 +48,7 @@ private val REQUIRED_PERMISSIONS = arrayOf(
|
|||
android.Manifest.permission.WRITE_EXTERNAL_STORAGE
|
||||
)
|
||||
|
||||
class PhotoEditActivity : BaseActivity() {
|
||||
class PhotoEditActivity : BaseThemedWithBarActivity() {
|
||||
|
||||
var saving: Boolean = false
|
||||
private val BITMAP_CONFIG = Bitmap.Config.ARGB_8888
|
||||
|
@ -265,8 +269,10 @@ class PhotoEditActivity : BaseActivity() {
|
|||
val file = File.createTempFile("temp_crop_img", ".png", cacheDir)
|
||||
|
||||
val options: UCrop.Options = UCrop.Options().apply {
|
||||
setStatusBarColor(resources.getColor(R.color.colorPrimaryDark, theme))
|
||||
setActiveControlsWidgetColor(resources.getColor(R.color.colorButtonBg, theme))
|
||||
setStatusBarColor(this@PhotoEditActivity.getColorFromAttr(R.attr.colorPrimaryDark))
|
||||
setToolbarWidgetColor(this@PhotoEditActivity.getColorFromAttr(R.attr.colorOnSurface))
|
||||
setToolbarColor(this@PhotoEditActivity.getColorFromAttr(R.attr.colorSurface))
|
||||
setActiveControlsWidgetColor(this@PhotoEditActivity.getColorFromAttr(R.attr.colorPrimary))
|
||||
}
|
||||
val uCrop: UCrop = UCrop.of(initialUri!!, Uri.fromFile(file)).withOptions(options)
|
||||
uCrop.start(this)
|
||||
|
|
|
@ -10,6 +10,7 @@ import androidx.recyclerview.widget.RecyclerView
|
|||
import org.pixeldroid.app.R
|
||||
import org.pixeldroid.app.databinding.ThumbnailListItemBinding
|
||||
import com.zomato.photofilters.utils.ThumbnailItem
|
||||
import org.pixeldroid.app.utils.getColorFromAttr
|
||||
|
||||
class ThumbnailAdapter (private val context: Context,
|
||||
private val tbItemList: List<ThumbnailItem>,
|
||||
|
@ -43,9 +44,9 @@ class ThumbnailAdapter (private val context: Context,
|
|||
holder.filterName.text = tbItem.filterName
|
||||
|
||||
if(selectedIndex == position)
|
||||
holder.filterName.setTextColor(ContextCompat.getColor(context, R.color.filterLabelSelected))
|
||||
holder.filterName.setTextColor(context.getColorFromAttr(R.attr.colorPrimary))
|
||||
else
|
||||
holder.filterName.setTextColor(ContextCompat.getColor(context, R.color.filterLabelNormal))
|
||||
holder.filterName.setTextColor(context.getColorFromAttr(R.attr.colorOnBackground))
|
||||
}
|
||||
|
||||
class MyViewHolder(itemBinding: ThumbnailListItemBinding): RecyclerView.ViewHolder(itemBinding.root) {
|
||||
|
|
|
@ -28,12 +28,12 @@ import org.pixeldroid.app.R
|
|||
import org.pixeldroid.app.databinding.ActivityVideoEditBinding
|
||||
import org.pixeldroid.app.postCreation.PostCreationActivity
|
||||
import org.pixeldroid.app.postCreation.carousel.dpToPx
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
import org.pixeldroid.app.utils.BaseThemedWithBarActivity
|
||||
import org.pixeldroid.app.utils.ffmpegSafeUri
|
||||
import java.io.File
|
||||
|
||||
|
||||
class VideoEditActivity : BaseActivity() {
|
||||
class VideoEditActivity : BaseThemedWithBarActivity() {
|
||||
|
||||
private lateinit var mediaPlayer: MediaPlayer
|
||||
private var videoPosition: Int = -1
|
||||
|
|
|
@ -6,7 +6,6 @@ import android.content.pm.ActivityInfo
|
|||
import android.media.AudioManager.STREAM_MUSIC
|
||||
import android.os.Bundle
|
||||
import androidx.core.net.toUri
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowCompat.getInsetsController
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.core.view.WindowInsetsControllerCompat
|
||||
|
@ -15,9 +14,9 @@ import androidx.media2.common.MediaMetadata
|
|||
import androidx.media2.common.UriMediaItem
|
||||
import androidx.media2.player.MediaPlayer
|
||||
import org.pixeldroid.app.databinding.ActivityMediaviewerBinding
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
import org.pixeldroid.app.utils.BaseThemedWithoutBarActivity
|
||||
|
||||
class MediaViewerActivity : BaseActivity() {
|
||||
class MediaViewerActivity : BaseThemedWithoutBarActivity() {
|
||||
|
||||
private lateinit var mediaPlayer: MediaPlayer
|
||||
private lateinit var binding: ActivityMediaviewerBinding
|
||||
|
|
|
@ -12,7 +12,7 @@ import androidx.lifecycle.lifecycleScope
|
|||
import org.pixeldroid.app.R
|
||||
import org.pixeldroid.app.databinding.ActivityPostBinding
|
||||
import org.pixeldroid.app.databinding.CommentBinding
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
import org.pixeldroid.app.utils.BaseThemedWithBarActivity
|
||||
import org.pixeldroid.app.utils.api.PixelfedAPI
|
||||
import org.pixeldroid.app.utils.api.objects.Mention
|
||||
import org.pixeldroid.app.utils.api.objects.Status
|
||||
|
@ -23,7 +23,7 @@ import org.pixeldroid.app.utils.displayDimensionsInPx
|
|||
import retrofit2.HttpException
|
||||
import java.io.IOException
|
||||
|
||||
class PostActivity : BaseActivity() {
|
||||
class PostActivity : BaseThemedWithBarActivity() {
|
||||
lateinit var domain : String
|
||||
|
||||
private lateinit var binding: ActivityPostBinding
|
||||
|
|
|
@ -5,12 +5,12 @@ import android.view.View
|
|||
import androidx.lifecycle.lifecycleScope
|
||||
import org.pixeldroid.app.R
|
||||
import org.pixeldroid.app.databinding.ActivityReportBinding
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
import org.pixeldroid.app.utils.BaseThemedWithBarActivity
|
||||
import org.pixeldroid.app.utils.api.objects.Status
|
||||
import retrofit2.HttpException
|
||||
import java.io.IOException
|
||||
|
||||
class ReportActivity : BaseActivity() {
|
||||
class ReportActivity : BaseThemedWithBarActivity() {
|
||||
|
||||
private lateinit var binding: ActivityReportBinding
|
||||
|
||||
|
|
|
@ -3,11 +3,11 @@ package org.pixeldroid.app.posts.feeds.uncachedFeeds.hashtags
|
|||
import android.os.Bundle
|
||||
import org.pixeldroid.app.R
|
||||
import org.pixeldroid.app.posts.feeds.uncachedFeeds.UncachedPostsFragment
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
import org.pixeldroid.app.utils.BaseThemedWithBarActivity
|
||||
import org.pixeldroid.app.utils.api.objects.Tag.Companion.HASHTAG_TAG
|
||||
|
||||
|
||||
class HashTagActivity : BaseActivity() {
|
||||
class HashTagActivity : BaseThemedWithBarActivity() {
|
||||
private var tagFragment = UncachedPostsFragment()
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
|
|
|
@ -3,14 +3,14 @@ package org.pixeldroid.app.profile
|
|||
import android.os.Bundle
|
||||
import org.pixeldroid.app.R
|
||||
import org.pixeldroid.app.posts.feeds.uncachedFeeds.accountLists.AccountListFragment
|
||||
import org.pixeldroid.app.utils.BaseThemedWithBarActivity
|
||||
import org.pixeldroid.app.utils.api.objects.Account
|
||||
import org.pixeldroid.app.utils.api.objects.Account.Companion.ACCOUNT_ID_TAG
|
||||
import org.pixeldroid.app.utils.api.objects.Account.Companion.ACCOUNT_TAG
|
||||
import org.pixeldroid.app.utils.api.objects.Account.Companion.FOLLOWERS_TAG
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
|
||||
|
||||
class FollowsActivity : BaseActivity() {
|
||||
class FollowsActivity : BaseThemedWithBarActivity() {
|
||||
private var followsFragment = AccountListFragment()
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
|
|
|
@ -6,10 +6,9 @@ import android.util.Log
|
|||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.*
|
||||
import android.widget.ImageView
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.content.res.AppCompatResources
|
||||
import androidx.constraintlayout.motion.widget.MotionLayout
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
|
@ -22,6 +21,8 @@ import androidx.recyclerview.widget.RecyclerView
|
|||
import com.bumptech.glide.Glide
|
||||
import com.bumptech.glide.request.RequestOptions
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.launch
|
||||
import org.pixeldroid.app.R
|
||||
import org.pixeldroid.app.databinding.ActivityProfileBinding
|
||||
import org.pixeldroid.app.databinding.FragmentProfilePostsBinding
|
||||
|
@ -32,23 +33,19 @@ import org.pixeldroid.app.posts.feeds.uncachedFeeds.FeedViewModel
|
|||
import org.pixeldroid.app.posts.feeds.uncachedFeeds.UncachedContentRepository
|
||||
import org.pixeldroid.app.posts.feeds.uncachedFeeds.profile.ProfileContentRepository
|
||||
import org.pixeldroid.app.posts.parseHTMLText
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
import org.pixeldroid.app.utils.BaseThemedWithBarActivity
|
||||
import org.pixeldroid.app.utils.BlurHashDecoder
|
||||
import org.pixeldroid.app.utils.ImageConverter
|
||||
import org.pixeldroid.app.utils.api.PixelfedAPI
|
||||
import org.pixeldroid.app.utils.api.objects.Account
|
||||
import org.pixeldroid.app.utils.api.objects.Attachment
|
||||
import org.pixeldroid.app.utils.api.objects.Status
|
||||
import org.pixeldroid.app.utils.db.entities.UserDatabaseEntity
|
||||
import org.pixeldroid.app.utils.openUrl
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.launch
|
||||
import org.pixeldroid.app.databinding.ErrorLayoutBinding
|
||||
import org.pixeldroid.app.postCreation.carousel.dpToPx
|
||||
import org.pixeldroid.app.utils.BlurHashDecoder
|
||||
import org.pixeldroid.app.utils.api.objects.Attachment
|
||||
import retrofit2.HttpException
|
||||
import java.io.IOException
|
||||
|
||||
class ProfileActivity : BaseActivity() {
|
||||
class ProfileActivity : BaseThemedWithBarActivity() {
|
||||
|
||||
private lateinit var domain : String
|
||||
private lateinit var accountId : String
|
||||
|
|
|
@ -12,10 +12,10 @@ import org.pixeldroid.app.R
|
|||
import org.pixeldroid.app.posts.feeds.uncachedFeeds.UncachedPostsFragment
|
||||
import org.pixeldroid.app.posts.feeds.uncachedFeeds.search.SearchAccountFragment
|
||||
import org.pixeldroid.app.posts.feeds.uncachedFeeds.search.SearchHashtagFragment
|
||||
import org.pixeldroid.app.utils.BaseThemedWithBarActivity
|
||||
import org.pixeldroid.app.utils.api.objects.Results
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
|
||||
class SearchActivity : BaseActivity() {
|
||||
class SearchActivity : BaseThemedWithBarActivity() {
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
|
|
@ -5,9 +5,9 @@ import android.os.Bundle
|
|||
import org.pixeldroid.app.BuildConfig
|
||||
import org.pixeldroid.app.R
|
||||
import org.pixeldroid.app.databinding.ActivityAboutBinding
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
import org.pixeldroid.app.utils.BaseThemedWithBarActivity
|
||||
|
||||
class AboutActivity : BaseActivity() {
|
||||
class AboutActivity : BaseThemedWithBarActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
val binding = ActivityAboutBinding.inflate(layoutInflater)
|
||||
|
|
|
@ -6,18 +6,19 @@ import org.pixeldroid.app.R
|
|||
import org.pixeldroid.app.databinding.OpenSourceLicenseBinding
|
||||
import org.pixeldroid.app.settings.licenseObjects.Libraries
|
||||
import org.pixeldroid.app.settings.licenseObjects.OpenSourceItem
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
import java.io.FileNotFoundException
|
||||
import org.pixeldroid.app.utils.BaseThemedWithBarActivity
|
||||
import org.pixeldroid.app.utils.themeActionBar
|
||||
|
||||
/**
|
||||
* Displays licenses for all app dependencies. JSON is
|
||||
* generated by the plugin https://github.com/cookpad/LicenseToolsPlugin.
|
||||
*/
|
||||
class LicenseActivity: BaseActivity() {
|
||||
class LicenseActivity: BaseThemedWithBarActivity() {
|
||||
|
||||
private lateinit var binding: OpenSourceLicenseBinding
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
setTheme(themeActionBar())
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = OpenSourceLicenseBinding.inflate(layoutInflater)
|
||||
|
||||
|
|
|
@ -10,10 +10,10 @@ import androidx.preference.PreferenceFragmentCompat
|
|||
import androidx.preference.PreferenceManager
|
||||
import org.pixeldroid.app.MainActivity
|
||||
import org.pixeldroid.app.R
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
import org.pixeldroid.app.utils.BaseThemedWithBarActivity
|
||||
import org.pixeldroid.app.utils.setThemeFromPreferences
|
||||
|
||||
class SettingsActivity : BaseActivity(), SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
class SettingsActivity : BaseThemedWithBarActivity(), SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
private var restartMainOnExit = false
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
|
@ -63,6 +63,9 @@ class SettingsActivity : BaseActivity(), SharedPreferences.OnSharedPreferenceCha
|
|||
"language" -> {
|
||||
recreateWithRestartStatus()
|
||||
}
|
||||
"themeColor" -> {
|
||||
recreateWithRestartStatus()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
package org.pixeldroid.app.settings
|
||||
|
||||
import android.content.Context
|
||||
import android.content.DialogInterface
|
||||
import android.content.res.ColorStateList
|
||||
import android.content.res.TypedArray
|
||||
import android.graphics.Color
|
||||
import android.os.Bundle
|
||||
import android.util.AttributeSet
|
||||
import android.util.TypedValue
|
||||
|
@ -12,17 +11,20 @@ import android.view.View
|
|||
import android.widget.FrameLayout
|
||||
import android.widget.ImageView
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.ColorRes
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.preference.DialogPreference
|
||||
import androidx.preference.PreferenceDialogFragmentCompat
|
||||
import androidx.preference.PreferenceViewHolder
|
||||
import org.pixeldroid.app.R
|
||||
import org.pixeldroid.app.databinding.ColorDialogBinding
|
||||
import org.pixeldroid.app.databinding.ImageCarouselBinding
|
||||
|
||||
|
||||
/** AndroidX version created by yvolk@yurivolkov.com
|
||||
/** Inspired by https://github.com/andstatus/todoagenda's color chooser.
|
||||
* AndroidX version created by yvolk@yurivolkov.com
|
||||
* based on this answer: https://stackoverflow.com/a/53290775/297710
|
||||
* and on the code of https://github.com/koji-1009/ChronoDialogPreference
|
||||
*/
|
||||
|
@ -40,21 +42,13 @@ class ColorPreferenceDialog(preference: ColorPreference) :
|
|||
|
||||
override fun onCreateDialogView(context: Context): View? {
|
||||
val picker = ColorPickerView(context)
|
||||
preference.color?.let {
|
||||
picker.color = it
|
||||
}
|
||||
mPicker = picker
|
||||
return mPicker
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
super.onStart()
|
||||
val dialog: AlertDialog? = dialog as AlertDialog?
|
||||
if (preference.selectNoneButtonText != null && preference.defaultColor != null && mPicker != null && dialog != null) {
|
||||
// In order to prevent dialog from closing we setup its onLickListener this late
|
||||
dialog.getButton(DialogInterface.BUTTON_POSITIVE)?.setOnClickListener{
|
||||
mPicker?.setCurrentColor(preference.defaultColor!!)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onPrepareDialogBuilder(builder: AlertDialog.Builder) {
|
||||
if (preference.selectNoneButtonText != null) {
|
||||
builder.setNeutralButton(preference.selectNoneButtonText, null)
|
||||
|
@ -71,18 +65,10 @@ class ColorPreferenceDialog(preference: ColorPreference) :
|
|||
}
|
||||
}
|
||||
|
||||
class ColorPreference constructor(context: Context, attrs: AttributeSet? = null) :
|
||||
DialogPreference(context, attrs) {
|
||||
class ColorPreference constructor(context: Context, attrs: AttributeSet? = null) : DialogPreference(context, attrs) {
|
||||
var selectNoneButtonText: String? = null
|
||||
var defaultColor: Int? = null
|
||||
private var noneSelectedSummaryText: String? = null
|
||||
private val summaryText: CharSequence = super.getSummary()!!
|
||||
private var thumbnail: View? = null
|
||||
private val mPicker: ColorPickerView? = null
|
||||
|
||||
init {
|
||||
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(viewHolder: PreferenceViewHolder) {
|
||||
thumbnail = addThumbnail(viewHolder.itemView)
|
||||
|
@ -117,15 +103,21 @@ class ColorPreference constructor(context: Context, attrs: AttributeSet? = null)
|
|||
|
||||
private val persistedIntDefaultOrNull: Int
|
||||
get() = if (shouldPersist() && sharedPreferences?.contains(key) == true)
|
||||
Integer.valueOf(getPersistedInt(Color.GRAY)) else defaultColor!!
|
||||
Integer.valueOf(getPersistedInt(0)) else defaultColor!!
|
||||
|
||||
private fun showColor(color: Int?) {
|
||||
val thumbColor = color ?: defaultColor
|
||||
thumbnail?.visibility = if (thumbColor == null) View.GONE else View.VISIBLE
|
||||
thumbnail?.findViewById<ImageView>(R.id.colorPreview)?.setBackgroundColor(thumbColor ?: 0)
|
||||
if (noneSelectedSummaryText != null) {
|
||||
summary = if (thumbColor == null) noneSelectedSummaryText else summaryText
|
||||
@ColorRes
|
||||
val colorCode: Int = when(thumbColor){
|
||||
1 -> R.color.seed2
|
||||
2 -> R.color.seed3
|
||||
3 -> R.color.seed4
|
||||
else -> R.color.seed
|
||||
}
|
||||
thumbnail?.findViewById<ImageView>(R.id.colorPreview)?.imageTintList = ColorStateList.valueOf(
|
||||
ContextCompat.getColor(context, colorCode)
|
||||
)
|
||||
}
|
||||
|
||||
private fun removeSetting() {
|
||||
|
@ -153,13 +145,8 @@ class ColorPreference constructor(context: Context, attrs: AttributeSet? = null)
|
|||
private fun readDefaultValue(a: TypedArray, index: Int): Int? {
|
||||
if (a.peekValue(index) != null) {
|
||||
val type = a.peekValue(index).type
|
||||
if (type == TypedValue.TYPE_STRING) {
|
||||
return when(a.getString(index)){
|
||||
"default" -> 0
|
||||
"second" -> 1
|
||||
"third" -> 2
|
||||
else -> null
|
||||
}
|
||||
if (TypedValue.TYPE_FIRST_INT <= type && type <= TypedValue.TYPE_LAST_INT) {
|
||||
return a.getInt(index, 0)
|
||||
}
|
||||
}
|
||||
return null
|
||||
|
@ -170,17 +157,36 @@ class ColorPreference constructor(context: Context, attrs: AttributeSet? = null)
|
|||
}
|
||||
}
|
||||
}
|
||||
class ColorPickerView @JvmOverloads constructor(context: Context?, attrs: AttributeSet? = null) : FrameLayout(context!!, attrs) {
|
||||
class ColorPickerView(context: Context?, attrs: AttributeSet? = null) : FrameLayout(context!!, attrs) {
|
||||
var binding: ColorDialogBinding
|
||||
|
||||
fun setCurrentColor(defaultColor: Int) {
|
||||
Toast.makeText(context, "test $defaultColor", Toast.LENGTH_LONG).show()
|
||||
}
|
||||
|
||||
init {
|
||||
binding = ColorDialogBinding.inflate(LayoutInflater.from(context),this, true)
|
||||
binding.theme1.setOnClickListener { color = 0 }
|
||||
binding.theme2.setOnClickListener { color = 1 }
|
||||
binding.theme3.setOnClickListener { color = 2 }
|
||||
binding.theme4.setOnClickListener { color = 3 }
|
||||
}
|
||||
|
||||
private fun changeConstraint(button2: View) {
|
||||
binding.chosenTheme.isVisible = true
|
||||
val params = binding.chosenTheme.layoutParams as ConstraintLayout.LayoutParams
|
||||
params.endToEnd = button2.id
|
||||
params.startToStart = button2.id
|
||||
binding.chosenTheme.layoutParams = params
|
||||
binding.chosenTheme.requestLayout()
|
||||
}
|
||||
/** Returns the color selected by the user */
|
||||
/** Sets the original color swatch and the current color to the specified value. */
|
||||
var color: Int = 1
|
||||
var color: Int = 0
|
||||
set(value) {
|
||||
field = value
|
||||
when(value) {
|
||||
0 -> binding.theme1
|
||||
1 -> binding.theme2
|
||||
2 -> binding.theme3
|
||||
3 -> binding.theme4
|
||||
else -> null
|
||||
}?.let { changeConstraint(it) }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
package org.pixeldroid.app.utils
|
||||
|
||||
import android.os.Bundle
|
||||
|
||||
open class BaseThemedWithBarActivity : BaseActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
setTheme(themeActionBar())
|
||||
super.onCreate(savedInstanceState)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package org.pixeldroid.app.utils
|
||||
|
||||
import android.os.Bundle
|
||||
|
||||
open class BaseThemedWithoutBarActivity : BaseActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
setTheme(themeNoActionBar())
|
||||
super.onCreate(savedInstanceState)
|
||||
}
|
||||
}
|
|
@ -3,6 +3,7 @@ package org.pixeldroid.app.utils
|
|||
import android.content.*
|
||||
import android.content.res.Resources
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.Color
|
||||
import android.graphics.ImageDecoder
|
||||
import android.graphics.Matrix
|
||||
import android.net.ConnectivityManager
|
||||
|
@ -10,16 +11,22 @@ import android.net.Uri
|
|||
import android.os.Build
|
||||
import android.provider.MediaStore
|
||||
import android.util.DisplayMetrics
|
||||
import android.util.TypedValue
|
||||
import android.view.WindowManager
|
||||
import androidx.annotation.AttrRes
|
||||
import androidx.annotation.ColorInt
|
||||
import androidx.annotation.StyleRes
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
import androidx.browser.customtabs.CustomTabsIntent
|
||||
import androidx.exifinterface.media.ExifInterface
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.DefaultLifecycleObserver
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.arthenica.ffmpegkit.FFmpegKitConfig
|
||||
import com.google.android.material.color.MaterialColors
|
||||
import okhttp3.HttpUrl
|
||||
import org.pixeldroid.app.R
|
||||
import kotlin.properties.ReadWriteProperty
|
||||
|
@ -165,7 +172,7 @@ fun RecyclerView.limitedLengthSmoothScrollToPosition(targetItem: Int) {
|
|||
/**
|
||||
* @brief Updates the application's theme depending on the given preferences and resources
|
||||
*/
|
||||
fun setThemeFromPreferences(preferences: SharedPreferences, resources : Resources) {
|
||||
fun setThemeFromPreferences(preferences: SharedPreferences, resources: Resources) {
|
||||
val themes = resources.getStringArray(R.array.theme_values)
|
||||
//Set the theme
|
||||
when(preferences.getString("theme", "")) {
|
||||
|
@ -187,6 +194,29 @@ fun setThemeFromPreferences(preferences: SharedPreferences, resources : Resource
|
|||
}
|
||||
}
|
||||
|
||||
@StyleRes
|
||||
fun Context.themeNoActionBar(): Int {
|
||||
return when(PreferenceManager.getDefaultSharedPreferences(this).getInt("themeColor", 0)) {
|
||||
1 -> R.style.AppTheme2_NoActionBar
|
||||
2 -> R.style.AppTheme3_NoActionBar
|
||||
3 -> R.style.AppTheme4_NoActionBar
|
||||
else -> R.style.AppTheme_NoActionBar
|
||||
}
|
||||
}
|
||||
|
||||
@StyleRes
|
||||
fun Context.themeActionBar(): Int {
|
||||
return when(PreferenceManager.getDefaultSharedPreferences(this).getInt("themeColor", 0)) {
|
||||
1 -> R.style.AppTheme2
|
||||
2 -> R.style.AppTheme3
|
||||
3 -> R.style.AppTheme4
|
||||
else -> R.style.AppTheme
|
||||
}
|
||||
}
|
||||
|
||||
@ColorInt
|
||||
fun Context.getColorFromAttr(@AttrRes attrColor: Int): Int = MaterialColors.getColor(this, attrColor, Color.BLACK)
|
||||
|
||||
/**
|
||||
* Delegated property to use in fragments to prevent memory leaks of bindings.
|
||||
* This makes it unnecessary to set binding to null in onDestroyView.
|
||||
|
|
|
@ -5,5 +5,5 @@
|
|||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M20,8h-2.81c-0.45,-0.78 -1.07,-1.45 -1.82,-1.96L17,4.41 15.59,3l-2.17,2.17C12.96,5.06 12.49,5 12,5c-0.49,0 -0.96,0.06 -1.41,0.17L8.41,3 7,4.41l1.62,1.63C7.88,6.55 7.26,7.22 6.81,8L4,8v2h2.09c-0.05,0.33 -0.09,0.66 -0.09,1v1L4,12v2h2v1c0,0.34 0.04,0.67 0.09,1L4,16v2h2.81c1.04,1.79 2.97,3 5.19,3s4.15,-1.21 5.19,-3L20,18v-2h-2.09c0.05,-0.33 0.09,-0.66 0.09,-1v-1h2v-2h-2v-1c0,-0.34 -0.04,-0.67 -0.09,-1L20,10L20,8zM14,16h-4v-2h4v2zM14,12h-4v-2h4v2z"
|
||||
android:fillColor="@color/colorDrawing"/>
|
||||
android:fillColor="?attr/colorOnBackground"/>
|
||||
</vector>
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
|
||||
<path android:fillColor="@color/white" android:pathData="M12,12m-8,0a8,8 0,1 1,16 0a8,8 0,1 1,-16 0"/>
|
||||
<path android:fillColor="?attr/colorOnPrimaryContainer" android:pathData="M12,12m-8,0a8,8 0,1 1,16 0a8,8 0,1 1,-16 0"/>
|
||||
|
||||
<path
|
||||
android:fillColor="@color/colorButtonBg"
|
||||
android:fillColor="?attr/colorPrimaryContainer"
|
||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z"/>
|
||||
</vector>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:width="48dp"
|
||||
android:height="48dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
|
|
|
@ -5,5 +5,5 @@
|
|||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12,10.9c-0.61,0 -1.1,0.49 -1.1,1.1s0.49,1.1 1.1,1.1c0.61,0 1.1,-0.49 1.1,-1.1s-0.49,-1.1 -1.1,-1.1zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM14.19,14.19L6,18l3.81,-8.19L18,6l-3.81,8.19z"
|
||||
android:fillColor="@color/colorDrawing"/>
|
||||
android:fillColor="?attr/colorOnBackground"/>
|
||||
</vector>
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/>
|
||||
</vector>
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="@color/colorDrawing"
|
||||
android:fillColor="?attr/colorOnBackground"
|
||||
android:pathData="M7.58,4.08L6.15,2.65C3.75,4.48 2.17,7.3 2.03,10.5h2c0.15,-2.65 1.51,-4.97 3.55,-6.42zM19.97,10.5h2c-0.15,-3.2 -1.73,-6.02 -4.12,-7.85l-1.42,1.43c2.02,1.45 3.39,3.77 3.54,6.42zM18,11c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2v-5zM12,22c0.14,0 0.27,-0.01 0.4,-0.04 0.65,-0.14 1.18,-0.58 1.44,-1.18 0.1,-0.24 0.15,-0.5 0.15,-0.78h-4c0.01,1.1 0.9,2 2.01,2z"/>
|
||||
</vector>
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="@color/colorDrawing"
|
||||
android:fillColor="?attr/colorOnBackground"
|
||||
android:pathData="M17,15h2V7c0,-1.1 -0.9,-2 -2,-2H9v2h8v8zM7,17V1H5v4H1v2h4v10c0,1.1 0.9,2 2,2h10v4h2v-4h4v-2H7z"/>
|
||||
</vector>
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
<vector android:height="12dp" android:tint="#003DFF"
|
||||
android:viewportHeight="24.0" android:viewportWidth="24.0"
|
||||
android:width="12dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#010101" android:pathData="M12,12m-8,0a8,8 0,1 1,16 0a8,8 0,1 1,-16 0"/>
|
||||
</vector>
|
|
@ -1,5 +0,0 @@
|
|||
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||
android:viewportHeight="24.0" android:viewportWidth="24.0"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#FF000000" android:pathData="M9,16h6v-6h4l-7,-7 -7,7h4zM5,18h14v2L5,20z"/>
|
||||
</vector>
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="@color/colorDrawing"
|
||||
android:fillColor="?attr/colorOnBackground"
|
||||
android:pathData="M15,12c2.21,0 4,-1.79 4,-4s-1.79,-4 -4,-4 -4,1.79 -4,4 1.79,4 4,4zM6,10L6,7L4,7v3L1,10v2h3v3h2v-3h3v-2L6,10zM15,14c-2.67,0 -8,1.34 -8,4v2h16v-2c0,-2.66 -5.33,-4 -8,-4z"/>
|
||||
</vector>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<vector android:height="18dp" android:viewportHeight="512"
|
||||
android:viewportWidth="512" android:width="18dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="@color/colorDrawing" android:pathData="M462.3,62.6C407.5,15.9 326,24.3 275.7,76.2L256,96.5l-19.7,-20.3C186.1,24.3 104.5,15.9 49.7,62.6c-62.8,53.6 -66.1,149.8 -9.9,207.9l193.5,199.8c12.5,12.9 32.8,12.9 45.3,0l193.5,-199.8c56.3,-58.1 53,-154.3 -9.8,-207.9z"/>
|
||||
<path android:fillColor="?attr/colorOnBackground" android:pathData="M462.3,62.6C407.5,15.9 326,24.3 275.7,76.2L256,96.5l-19.7,-20.3C186.1,24.3 104.5,15.9 49.7,62.6c-62.8,53.6 -66.1,149.8 -9.9,207.9l193.5,199.8c12.5,12.9 32.8,12.9 45.3,0l193.5,-199.8c56.3,-58.1 53,-154.3 -9.8,-207.9z"/>
|
||||
</vector>
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
android:viewportWidth="110" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#00000000"
|
||||
android:pathData="M54.5,94.5C58.2,90.74 79.39,69.25 92.63,55.83C104.5,43.8 104.24,26.26 93.46,15.39C82.67,4.5 65.23,4.55 54.5,15.48C43.76,4.55 26.32,4.5 15.54,15.38C4.75,26.25 4.5,43.79 16.36,55.83C29.6,69.25 50.79,90.74 54.5,94.5Z"
|
||||
android:strokeColor="@color/colorDrawing" android:strokeWidth="9"/>
|
||||
android:strokeColor="?attr/colorOnBackground" android:strokeWidth="9"/>
|
||||
</vector>
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
android:viewportWidth="111" android:width="31.341177dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#00000000"
|
||||
android:pathData="M30.5,64.5L90.5,64.5L90.5,39.81"
|
||||
android:strokeColor="@color/colorDrawing" android:strokeWidth="9"/>
|
||||
<path android:fillColor="@color/colorDrawing"
|
||||
android:strokeColor="?attr/colorOnBackground" android:strokeWidth="9"/>
|
||||
<path android:fillColor="?attr/colorOnBackground"
|
||||
android:pathData="M90.5,25.56L100,44.56L90.5,39.81L81,44.56Z"
|
||||
android:strokeColor="@color/colorDrawing" android:strokeWidth="9"/>
|
||||
android:strokeColor="?attr/colorOnBackground" android:strokeWidth="9"/>
|
||||
<path android:fillColor="#00000000"
|
||||
android:pathData="M80.5,18.5L20.5,18.5L20.5,44.19"
|
||||
android:strokeColor="@color/colorDrawing" android:strokeWidth="9"/>
|
||||
<path android:fillColor="@color/colorDrawing"
|
||||
android:strokeColor="?attr/colorOnBackground" android:strokeWidth="9"/>
|
||||
<path android:fillColor="?attr/colorOnBackground"
|
||||
android:pathData="M20.5,58.44L11,39.44L20.5,44.19L30,39.44Z"
|
||||
android:strokeColor="@color/colorDrawing" android:strokeWidth="9"/>
|
||||
android:strokeColor="?attr/colorOnBackground" android:strokeWidth="9"/>
|
||||
</vector>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||
<vector android:height="24dp"
|
||||
android:viewportHeight="24.0" android:viewportWidth="24.0"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#FF000000" android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z"/>
|
||||
<path android:fillColor="?attr/colorOnSurface" android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z"/>
|
||||
</vector>
|
||||
|
|
|
@ -5,5 +5,5 @@
|
|||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,17h-2v-6h2v6zM13,9h-2L11,7h2v2z"
|
||||
android:fillColor="@color/colorDrawing"/>
|
||||
android:fillColor="?attr/colorOnBackground"/>
|
||||
</vector>
|
||||
|
|
|
@ -5,5 +5,5 @@
|
|||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10h5v-2h-5c-4.34,0 -8,-3.66 -8,-8s3.66,-8 8,-8 8,3.66 8,8v1.43c0,0.79 -0.71,1.57 -1.5,1.57s-1.5,-0.78 -1.5,-1.57L17,12c0,-2.76 -2.24,-5 -5,-5s-5,2.24 -5,5 2.24,5 5,5c1.38,0 2.64,-0.56 3.54,-1.47 0.65,0.89 1.77,1.47 2.96,1.47 1.97,0 3.5,-1.6 3.5,-3.57L22,12c0,-5.52 -4.48,-10 -10,-10zM12,15c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3z"
|
||||
android:fillColor="@color/colorDrawing"/>
|
||||
android:fillColor="?attr/colorOnBackground"/>
|
||||
</vector>
|
||||
|
|
|
@ -5,5 +5,5 @@
|
|||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12,3c-4.97,0 -9,4.03 -9,9s4.03,9 9,9c0.83,0 1.5,-0.67 1.5,-1.5 0,-0.39 -0.15,-0.74 -0.39,-1.01 -0.23,-0.26 -0.38,-0.61 -0.38,-0.99 0,-0.83 0.67,-1.5 1.5,-1.5L16,16c2.76,0 5,-2.24 5,-5 0,-4.42 -4.03,-8 -9,-8zM6.5,12c-0.83,0 -1.5,-0.67 -1.5,-1.5S5.67,9 6.5,9 8,9.67 8,10.5 7.33,12 6.5,12zM9.5,8C8.67,8 8,7.33 8,6.5S8.67,5 9.5,5s1.5,0.67 1.5,1.5S10.33,8 9.5,8zM14.5,8c-0.83,0 -1.5,-0.67 -1.5,-1.5S13.67,5 14.5,5s1.5,0.67 1.5,1.5S15.33,8 14.5,8zM17.5,12c-0.83,0 -1.5,-0.67 -1.5,-1.5S16.67,9 17.5,9s1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"
|
||||
android:fillColor="@color/colorDrawing"/>
|
||||
android:fillColor="?attr/colorOnBackground"/>
|
||||
</vector>
|
||||
|
|
|
@ -5,5 +5,5 @@
|
|||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M19,3L5,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM9,17L7,17v-7h2v7zM13,17h-2L11,7h2v10zM17,17h-2v-4h2v4z"
|
||||
android:fillColor="@color/colorDrawing"/>
|
||||
android:fillColor="?attr/colorOnBackground"/>
|
||||
</vector>
|
||||
|
|
|
@ -5,5 +5,5 @@
|
|||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89 0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
android:fillColor="?attr/colorOnSurface"/>
|
||||
</vector>
|
||||
|
|
|
@ -5,5 +5,5 @@
|
|||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12.87,15.07l-2.54,-2.51 0.03,-0.03c1.74,-1.94 2.98,-4.17 3.71,-6.53L17,6L17,4h-7L10,2L8,2v2L1,4v1.99h11.17C11.5,7.92 10.44,9.75 9,11.35 8.07,10.32 7.3,9.19 6.69,8h-2c0.73,1.63 1.73,3.17 2.98,4.56l-5.09,5.02L4,19l5,-5 3.11,3.11 0.76,-2.04zM18.5,10h-2L12,22h2l1.12,-3h4.75L21,22h2l-4.5,-12zM15.88,17l1.62,-4.33L19.12,17h-3.24z"
|
||||
android:fillColor="@color/colorDrawing"/>
|
||||
android:fillColor="?attr/colorOnBackground"/>
|
||||
</vector>
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/webview"
|
||||
android:layout_width="match_parent" android:layout_height="match_parent">
|
||||
</WebView>
|
|
@ -48,8 +48,6 @@
|
|||
android:id="@+id/connect_instance_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:backgroundTint="@color/colorButtonBg"
|
||||
android:textColor="@color/colorButtonText"
|
||||
android:text="@string/connect_to_pixelfed" />
|
||||
|
||||
<TextView
|
||||
|
|
|
@ -79,7 +79,6 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="411dp"
|
||||
android:backgroundTint="#FFFFFFFF"
|
||||
android:src="@drawable/ic_crop_black_24dp"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/left_guideline"
|
||||
app:layout_constraintRight_toRightOf="@+id/right_guideline"
|
||||
|
|
|
@ -134,9 +134,7 @@
|
|||
app:counterEnabled="true"
|
||||
android:paddingStart="15dp"
|
||||
android:paddingEnd="15dp"
|
||||
android:textColorHint="@color/colorPrimaryTab"
|
||||
app:errorEnabled="true"
|
||||
app:errorTextColor="?attr/colorOnError"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/buttonConstraints"
|
||||
app:layout_constraintStart_toStartOf="parent">
|
||||
|
@ -146,8 +144,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:ems="10"
|
||||
android:inputType="textMultiLine"
|
||||
android:textColor="@color/colorPrimary" />
|
||||
android:inputType="textMultiLine" />
|
||||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
android:id="@+id/collapsing_toolbar_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/background"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
|
@ -107,9 +106,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:backgroundTint="@color/colorButtonBg"
|
||||
android:text="@string/follow"
|
||||
android:textColor="@color/colorButtonText"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/profilePictureImageView"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
@ -119,12 +116,9 @@
|
|||
android:id="@+id/editButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:backgroundTint="@color/colorButtonBg"
|
||||
android:text="@string/edit_profile"
|
||||
android:textColor="@color/colorButtonText"
|
||||
android:visibility="gone"
|
||||
app:icon="@drawable/ic_baseline_open_in_browser_24"
|
||||
app:iconTint="@color/colorButtonText"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/profilePictureImageView"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/profilePictureImageView"
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="wrap_content"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
|
||||
|
@ -9,60 +10,84 @@
|
|||
android:id="@+id/theme1"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:scaleX="2"
|
||||
android:scaleY="2"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:contentDescription="@string/color_choice_button"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/theme2"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/circle_black_24dp"
|
||||
app:tint="@color/seed" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/theme2"
|
||||
android:scaleX="2"
|
||||
android:scaleY="2"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
app:layout_constraintStart_toEndOf="@+id/theme1"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:contentDescription="@string/color_choice_button"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/theme3"
|
||||
app:layout_constraintStart_toEndOf="@+id/theme1"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/circle_black_24dp"
|
||||
app:tint="@color/seed2" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/theme3"
|
||||
android:scaleX="2"
|
||||
android:scaleY="2"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
app:layout_constraintStart_toEndOf="@+id/theme2"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:contentDescription="@string/color_choice_button"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/theme4"
|
||||
app:layout_constraintStart_toEndOf="@+id/theme2"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/circle_black_24dp"
|
||||
app:tint="@color/seed" />
|
||||
app:tint="@color/seed3" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/theme4"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:scaleX="2"
|
||||
android:scaleY="2"
|
||||
android:contentDescription="@string/color_choice_button"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/theme3"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:srcCompat="@drawable/circle_black_24dp"
|
||||
app:tint="@color/seed" />
|
||||
app:tint="@color/seed4" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/chosenTheme"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="@id/theme1"
|
||||
app:layout_constraintStart_toStartOf="@id/theme1"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:visibility="visible">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/chosenThemeOverlay"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:contentDescription="@string/color_chosen"
|
||||
app:srcCompat="@drawable/circle_black_24dp"
|
||||
app:tint="#4D000000" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/chosenThemeCheckMark"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:contentDescription="@string/color_chosen"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_baseline_check_24" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -22,7 +22,7 @@
|
|||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/red_panda"
|
||||
app:tint="@color/colorDrawing" />
|
||||
app:tint="?attr/colorOnBackground" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/error_text"
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#4D000000"
|
||||
android:backgroundTint="?attr/colorSurface"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@+id/indicator"
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="colorPrimary">#FFFFFF</color>
|
||||
<color name="colorPrimaryTab">#f4a261</color>
|
||||
|
||||
<color name="colorText">#000000</color>
|
||||
<color name="colorDrawing">#FFFFFF</color>
|
||||
<color name="background">#000000</color>
|
||||
|
||||
</resources>
|
|
@ -29,7 +29,7 @@
|
|||
<item name="elevationOverlayColor">@color/md_theme_dark_surfaceTint</item>
|
||||
<item name="colorPrimaryInverse">@color/md_theme_dark_inversePrimary</item>
|
||||
</style>
|
||||
<style name="AppTheme2" parent="Theme.Material3.Dark.NoActionBar">
|
||||
<style name="AppTheme2" parent="Theme.Material3.Dark">
|
||||
<item name="colorPrimary">@color/md_theme_dark_primary2</item>
|
||||
<item name="colorOnPrimary">@color/md_theme_dark_onPrimary2</item>
|
||||
<item name="colorPrimaryContainer">@color/md_theme_dark_primaryContainer2</item>
|
||||
|
@ -59,4 +59,63 @@
|
|||
<item name="colorPrimaryInverse">@color/md_theme_dark_inversePrimary2</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme3" parent="Theme.Material3.Dark">
|
||||
<item name="colorPrimary">@color/md_theme_dark_primary3</item>
|
||||
<item name="colorOnPrimary">@color/md_theme_dark_onPrimary3</item>
|
||||
<item name="colorPrimaryContainer">@color/md_theme_dark_primaryContainer3</item>
|
||||
<item name="colorOnPrimaryContainer">@color/md_theme_dark_onPrimaryContainer3</item>
|
||||
<item name="colorSecondary">@color/md_theme_dark_secondary3</item>
|
||||
<item name="colorOnSecondary">@color/md_theme_dark_onSecondary3</item>
|
||||
<item name="colorSecondaryContainer">@color/md_theme_dark_secondaryContainer3</item>
|
||||
<item name="colorOnSecondaryContainer">@color/md_theme_dark_onSecondaryContainer3</item>
|
||||
<item name="colorTertiary">@color/md_theme_dark_tertiary3</item>
|
||||
<item name="colorOnTertiary">@color/md_theme_dark_onTertiary3</item>
|
||||
<item name="colorTertiaryContainer">@color/md_theme_dark_tertiaryContainer3</item>
|
||||
<item name="colorOnTertiaryContainer">@color/md_theme_dark_onTertiaryContainer3</item>
|
||||
<item name="colorError">@color/md_theme_dark_error3</item>
|
||||
<item name="colorOnError">@color/md_theme_dark_onError3</item>
|
||||
<item name="colorErrorContainer">@color/md_theme_dark_errorContainer3</item>
|
||||
<item name="colorOnErrorContainer">@color/md_theme_dark_onErrorContainer3</item>
|
||||
<item name="android:colorBackground">@color/md_theme_dark_background3</item>
|
||||
<item name="colorOnBackground">@color/md_theme_dark_onBackground3</item>
|
||||
<item name="colorSurface">@color/md_theme_dark_surface3</item>
|
||||
<item name="colorOnSurface">@color/md_theme_dark_onSurface3</item>
|
||||
<item name="colorSurfaceVariant">@color/md_theme_dark_surfaceVariant3</item>
|
||||
<item name="colorOnSurfaceVariant">@color/md_theme_dark_onSurfaceVariant3</item>
|
||||
<item name="colorOutline">@color/md_theme_dark_outline3</item>
|
||||
<item name="colorSurfaceInverse">@color/md_theme_dark_inverseSurface3</item>
|
||||
<item name="colorOnSurfaceInverse">@color/md_theme_dark_inverseOnSurface3</item>
|
||||
<item name="elevationOverlayColor">@color/md_theme_dark_surfaceTint3</item>
|
||||
<item name="colorPrimaryInverse">@color/md_theme_dark_inversePrimary3</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme4" parent="Theme.Material3.Dark">
|
||||
<item name="colorPrimary">@color/md_theme_dark_primary4</item>
|
||||
<item name="colorOnPrimary">@color/md_theme_dark_onPrimary4</item>
|
||||
<item name="colorPrimaryContainer">@color/md_theme_dark_primaryContainer4</item>
|
||||
<item name="colorOnPrimaryContainer">@color/md_theme_dark_onPrimaryContainer4</item>
|
||||
<item name="colorSecondary">@color/md_theme_dark_secondary4</item>
|
||||
<item name="colorOnSecondary">@color/md_theme_dark_onSecondary4</item>
|
||||
<item name="colorSecondaryContainer">@color/md_theme_dark_secondaryContainer4</item>
|
||||
<item name="colorOnSecondaryContainer">@color/md_theme_dark_onSecondaryContainer4</item>
|
||||
<item name="colorTertiary">@color/md_theme_dark_tertiary4</item>
|
||||
<item name="colorOnTertiary">@color/md_theme_dark_onTertiary4</item>
|
||||
<item name="colorTertiaryContainer">@color/md_theme_dark_tertiaryContainer4</item>
|
||||
<item name="colorOnTertiaryContainer">@color/md_theme_dark_onTertiaryContainer4</item>
|
||||
<item name="colorError">@color/md_theme_dark_error4</item>
|
||||
<item name="colorOnError">@color/md_theme_dark_onError4</item>
|
||||
<item name="colorErrorContainer">@color/md_theme_dark_errorContainer4</item>
|
||||
<item name="colorOnErrorContainer">@color/md_theme_dark_onErrorContainer4</item>
|
||||
<item name="android:colorBackground">@color/md_theme_dark_background4</item>
|
||||
<item name="colorOnBackground">@color/md_theme_dark_onBackground4</item>
|
||||
<item name="colorSurface">@color/md_theme_dark_surface4</item>
|
||||
<item name="colorOnSurface">@color/md_theme_dark_onSurface4</item>
|
||||
<item name="colorSurfaceVariant">@color/md_theme_dark_surfaceVariant4</item>
|
||||
<item name="colorOnSurfaceVariant">@color/md_theme_dark_onSurfaceVariant4</item>
|
||||
<item name="colorOutline">@color/md_theme_dark_outline4</item>
|
||||
<item name="colorSurfaceInverse">@color/md_theme_dark_inverseSurface4</item>
|
||||
<item name="colorOnSurfaceInverse">@color/md_theme_dark_inverseOnSurface4</item>
|
||||
<item name="elevationOverlayColor">@color/md_theme_dark_surfaceTint4</item>
|
||||
<item name="colorPrimaryInverse">@color/md_theme_dark_inversePrimary4</item>
|
||||
</style>
|
||||
</resources>
|
||||
|
|
|
@ -1,5 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="icActive">#FFFFFFFF</color>
|
||||
<color name="icFocused">#DDFFFFFF</color>
|
||||
<color name="icPressed">#AAFFFFFF</color>
|
||||
|
||||
<color name="white">#FFFFFF</color>
|
||||
|
||||
<!-- > Following are theme color values </-->
|
||||
<color name="seed">#f4a261</color>
|
||||
<color name="md_theme_light_primary">#924C00</color>
|
||||
<color name="md_theme_light_onPrimary">#FFFFFF</color>
|
||||
|
@ -122,25 +129,123 @@
|
|||
<color name="md_theme_dark_surfaceTint2">#ADC6FF</color>
|
||||
<color name="md_theme_dark_surfaceTintColor2">#ADC6FF</color>
|
||||
|
||||
<color name="seed3">#fbd900</color>
|
||||
<color name="md_theme_light_primary3">#6E5E00</color>
|
||||
<color name="md_theme_light_onPrimary3">#FFFFFF</color>
|
||||
<color name="md_theme_light_primaryContainer3">#FFE254</color>
|
||||
<color name="md_theme_light_onPrimaryContainer3">#211B00</color>
|
||||
<color name="md_theme_light_secondary3">#006A69</color>
|
||||
<color name="md_theme_light_onSecondary3">#FFFFFF</color>
|
||||
<color name="md_theme_light_secondaryContainer3">#6FF7F5</color>
|
||||
<color name="md_theme_light_onSecondaryContainer3">#002020</color>
|
||||
<color name="md_theme_light_tertiary3">#43664F</color>
|
||||
<color name="md_theme_light_onTertiary3">#FFFFFF</color>
|
||||
<color name="md_theme_light_tertiaryContainer3">#C4ECCF</color>
|
||||
<color name="md_theme_light_onTertiaryContainer3">#002110</color>
|
||||
<color name="md_theme_light_error3">#BA1A1A</color>
|
||||
<color name="md_theme_light_errorContainer3">#FFDAD6</color>
|
||||
<color name="md_theme_light_onError3">#FFFFFF</color>
|
||||
<color name="md_theme_light_onErrorContainer3">#410002</color>
|
||||
<color name="md_theme_light_background3">#FFFBFF</color>
|
||||
<color name="md_theme_light_onBackground3">#1D1B16</color>
|
||||
<color name="md_theme_light_surface3">#FFFBFF</color>
|
||||
<color name="md_theme_light_onSurface3">#1D1B16</color>
|
||||
<color name="md_theme_light_surfaceVariant3">#E9E2D0</color>
|
||||
<color name="md_theme_light_onSurfaceVariant3">#4B4739</color>
|
||||
<color name="md_theme_light_outline3">#7C7768</color>
|
||||
<color name="md_theme_light_inverseOnSurface3">#F6F0E7</color>
|
||||
<color name="md_theme_light_inverseSurface3">#32302A</color>
|
||||
<color name="md_theme_light_inversePrimary3">#E4C500</color>
|
||||
<color name="md_theme_light_shadow3">#000000</color>
|
||||
<color name="md_theme_light_surfaceTint3">#6E5E00</color>
|
||||
<color name="md_theme_light_surfaceTintColor3">#6E5E00</color>
|
||||
<color name="md_theme_dark_primary3">#E4C500</color>
|
||||
<color name="md_theme_dark_onPrimary3">#393000</color>
|
||||
<color name="md_theme_dark_primaryContainer3">#534600</color>
|
||||
<color name="md_theme_dark_onPrimaryContainer3">#FFE254</color>
|
||||
<color name="md_theme_dark_secondary3">#4DDAD8</color>
|
||||
<color name="md_theme_dark_onSecondary3">#003736</color>
|
||||
<color name="md_theme_dark_secondaryContainer3">#00504F</color>
|
||||
<color name="md_theme_dark_onSecondaryContainer3">#6FF7F5</color>
|
||||
<color name="md_theme_dark_tertiary3">#A9D0B4</color>
|
||||
<color name="md_theme_dark_onTertiary3">#143723</color>
|
||||
<color name="md_theme_dark_tertiaryContainer3">#2B4E38</color>
|
||||
<color name="md_theme_dark_onTertiaryContainer3">#C4ECCF</color>
|
||||
<color name="md_theme_dark_error3">#FFB4AB</color>
|
||||
<color name="md_theme_dark_errorContainer3">#93000A</color>
|
||||
<color name="md_theme_dark_onError3">#690005</color>
|
||||
<color name="md_theme_dark_onErrorContainer3">#FFDAD6</color>
|
||||
<color name="md_theme_dark_background3">#1D1B16</color>
|
||||
<color name="md_theme_dark_onBackground3">#E7E2D9</color>
|
||||
<color name="md_theme_dark_surface3">#1D1B16</color>
|
||||
<color name="md_theme_dark_onSurface3">#E7E2D9</color>
|
||||
<color name="md_theme_dark_surfaceVariant3">#4B4739</color>
|
||||
<color name="md_theme_dark_onSurfaceVariant3">#CDC6B4</color>
|
||||
<color name="md_theme_dark_outline3">#969080</color>
|
||||
<color name="md_theme_dark_inverseOnSurface3">#1D1B16</color>
|
||||
<color name="md_theme_dark_inverseSurface3">#E7E2D9</color>
|
||||
<color name="md_theme_dark_inversePrimary3">#6E5E00</color>
|
||||
<color name="md_theme_dark_shadow3">#000000</color>
|
||||
<color name="md_theme_dark_surfaceTint3">#E4C500</color>
|
||||
<color name="md_theme_dark_surfaceTintColor3">#E4C500</color>
|
||||
|
||||
|
||||
|
||||
|
||||
<color name="colorPrimary">#2a9d8f</color>
|
||||
<color name="colorPrimaryTab">#FFFFFF</color>
|
||||
<color name="colorPrimaryActionBar">#e9c46a</color>
|
||||
<color name="colorPrimaryDark">#264653</color>
|
||||
<color name="colorAccent">#e9c46a</color>
|
||||
<color name="icActive">#FFFFFFFF</color>
|
||||
<color name="icFocused">#DDFFFFFF</color>
|
||||
<color name="icPressed">#AAFFFFFF</color>
|
||||
<color name="colorButtonBg">#f4a261</color>
|
||||
<color name="colorButtonText">#FFFFFF</color>
|
||||
<color name="filterLabelNormal">#8A8889</color>
|
||||
<color name="filterLabelSelected">#221F20</color>
|
||||
<color name="colorPrimaryError">#FF0000</color>
|
||||
<color name="colorText">#FFFFFF</color>
|
||||
<color name="white">#FFFFFF</color>
|
||||
<color name="colorDrawing">#000000</color>
|
||||
<color name="background">#FFFFFF</color>
|
||||
<color name="seed4">#984061</color>
|
||||
<color name="md_theme_light_primary4">#984061</color>
|
||||
<color name="md_theme_light_onPrimary4">#FFFFFF</color>
|
||||
<color name="md_theme_light_primaryContainer4">#FFD9E2</color>
|
||||
<color name="md_theme_light_onPrimaryContainer4">#3E001D</color>
|
||||
<color name="md_theme_light_secondary4">#74565F</color>
|
||||
<color name="md_theme_light_onSecondary4">#FFFFFF</color>
|
||||
<color name="md_theme_light_secondaryContainer4">#FFD9E2</color>
|
||||
<color name="md_theme_light_onSecondaryContainer4">#2B151C</color>
|
||||
<color name="md_theme_light_tertiary4">#7C5635</color>
|
||||
<color name="md_theme_light_onTertiary4">#FFFFFF</color>
|
||||
<color name="md_theme_light_tertiaryContainer4">#FFDCC2</color>
|
||||
<color name="md_theme_light_onTertiaryContainer4">#2E1500</color>
|
||||
<color name="md_theme_light_error4">#BA1A1A</color>
|
||||
<color name="md_theme_light_errorContainer4">#FFDAD6</color>
|
||||
<color name="md_theme_light_onError4">#FFFFFF</color>
|
||||
<color name="md_theme_light_onErrorContainer4">#410002</color>
|
||||
<color name="md_theme_light_background4">#FFFBFF</color>
|
||||
<color name="md_theme_light_onBackground4">#201A1B</color>
|
||||
<color name="md_theme_light_surface4">#FFFBFF</color>
|
||||
<color name="md_theme_light_onSurface4">#201A1B</color>
|
||||
<color name="md_theme_light_surfaceVariant4">#F2DDE2</color>
|
||||
<color name="md_theme_light_onSurfaceVariant4">#514347</color>
|
||||
<color name="md_theme_light_outline4">#837377</color>
|
||||
<color name="md_theme_light_inverseOnSurface4">#FAEEEF</color>
|
||||
<color name="md_theme_light_inverseSurface4">#352F30</color>
|
||||
<color name="md_theme_light_inversePrimary4">#FFB0C8</color>
|
||||
<color name="md_theme_light_shadow4">#000000</color>
|
||||
<color name="md_theme_light_surfaceTint4">#984061</color>
|
||||
<color name="md_theme_light_surfaceTintColor4">#984061</color>
|
||||
<color name="md_theme_dark_primary4">#FFB0C8</color>
|
||||
<color name="md_theme_dark_onPrimary4">#5E1133</color>
|
||||
<color name="md_theme_dark_primaryContainer4">#7B2949</color>
|
||||
<color name="md_theme_dark_onPrimaryContainer4">#FFD9E2</color>
|
||||
<color name="md_theme_dark_secondary4">#E2BDC6</color>
|
||||
<color name="md_theme_dark_onSecondary4">#422931</color>
|
||||
<color name="md_theme_dark_secondaryContainer4">#5A3F47</color>
|
||||
<color name="md_theme_dark_onSecondaryContainer4">#FFD9E2</color>
|
||||
<color name="md_theme_dark_tertiary4">#EFBD94</color>
|
||||
<color name="md_theme_dark_onTertiary4">#48290C</color>
|
||||
<color name="md_theme_dark_tertiaryContainer4">#623F20</color>
|
||||
<color name="md_theme_dark_onTertiaryContainer4">#FFDCC2</color>
|
||||
<color name="md_theme_dark_error4">#FFB4AB</color>
|
||||
<color name="md_theme_dark_errorContainer4">#93000A</color>
|
||||
<color name="md_theme_dark_onError4">#690005</color>
|
||||
<color name="md_theme_dark_onErrorContainer4">#FFDAD6</color>
|
||||
<color name="md_theme_dark_background4">#201A1B</color>
|
||||
<color name="md_theme_dark_onBackground4">#EBE0E1</color>
|
||||
<color name="md_theme_dark_surface4">#201A1B</color>
|
||||
<color name="md_theme_dark_onSurface4">#EBE0E1</color>
|
||||
<color name="md_theme_dark_surfaceVariant4">#514347</color>
|
||||
<color name="md_theme_dark_onSurfaceVariant4">#D5C2C6</color>
|
||||
<color name="md_theme_dark_outline4">#9E8C90</color>
|
||||
<color name="md_theme_dark_inverseOnSurface4">#201A1B</color>
|
||||
<color name="md_theme_dark_inverseSurface4">#EBE0E1</color>
|
||||
<color name="md_theme_dark_inversePrimary4">#984061</color>
|
||||
<color name="md_theme_dark_shadow4">#000000</color>
|
||||
<color name="md_theme_dark_surfaceTint4">#FFB0C8</color>
|
||||
<color name="md_theme_dark_surfaceTintColor4">#FFB0C8</color>
|
||||
</resources>
|
||||
|
|
|
@ -105,7 +105,7 @@ For more info about Pixelfed, you can check here: https://pixelfed.org"</string>
|
|||
<string name="upload_post_success">Post uploaded successfully</string>
|
||||
<string name="upload_post_error">Post upload error</string>
|
||||
<string name="description">Description…</string>
|
||||
<string name="post">post</string>
|
||||
<string name="post">Post</string>
|
||||
<string name="add_photo">Add a photo</string>
|
||||
<string name="post_image">One of the images in the post</string>
|
||||
<string name="switch_to_grid">Switch to grid view</string>
|
||||
|
@ -278,4 +278,8 @@ For more info about Pixelfed, you can check here: https://pixelfed.org"</string>
|
|||
<string name="create_feed">Create</string>
|
||||
<string name="notifications_feed">Updates</string>
|
||||
<string name="public_feed">Public</string>
|
||||
<string name="accentColorTitle">Color accent</string>
|
||||
<string name="accentColorSummary">Choose a color accent</string>
|
||||
<string name="color_choice_button">Choose this color accent</string>
|
||||
<string name="color_chosen">Chosen color accent</string>
|
||||
</resources>
|
|
@ -24,7 +24,20 @@
|
|||
<item name="windowActionBar">false</item>
|
||||
<item name="windowNoTitle">true</item>
|
||||
</style>
|
||||
<style name="AppTheme2.NoActionBar">
|
||||
<item name="windowActionBar">false</item>
|
||||
<item name="windowNoTitle">true</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme3.NoActionBar">
|
||||
<item name="windowActionBar">false</item>
|
||||
<item name="windowNoTitle">true</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme4.NoActionBar">
|
||||
<item name="windowActionBar">false</item>
|
||||
<item name="windowNoTitle">true</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme" parent="Theme.Material3.Light">
|
||||
<item name="materialDrawerStyle">@style/Widget.MaterialDrawerStyle</item>
|
||||
|
@ -58,7 +71,7 @@
|
|||
<item name="colorPrimaryInverse">@color/md_theme_light_inversePrimary</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme2" parent="Theme.Material3.Light.NoActionBar">
|
||||
<style name="AppTheme2" parent="Theme.Material3.Light">
|
||||
<item name="colorPrimary">@color/md_theme_light_primary2</item>
|
||||
<item name="colorOnPrimary">@color/md_theme_light_onPrimary2</item>
|
||||
<item name="colorPrimaryContainer">@color/md_theme_light_primaryContainer2</item>
|
||||
|
@ -87,4 +100,64 @@
|
|||
<item name="elevationOverlayColor">@color/md_theme_light_surfaceTint2</item>
|
||||
<item name="colorPrimaryInverse">@color/md_theme_light_inversePrimary2</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme3" parent="Theme.Material3.Light">
|
||||
<item name="colorPrimary">@color/md_theme_light_primary3</item>
|
||||
<item name="colorOnPrimary">@color/md_theme_light_onPrimary3</item>
|
||||
<item name="colorPrimaryContainer">@color/md_theme_light_primaryContainer3</item>
|
||||
<item name="colorOnPrimaryContainer">@color/md_theme_light_onPrimaryContainer3</item>
|
||||
<item name="colorSecondary">@color/md_theme_light_secondary3</item>
|
||||
<item name="colorOnSecondary">@color/md_theme_light_onSecondary3</item>
|
||||
<item name="colorSecondaryContainer">@color/md_theme_light_secondaryContainer3</item>
|
||||
<item name="colorOnSecondaryContainer">@color/md_theme_light_onSecondaryContainer3</item>
|
||||
<item name="colorTertiary">@color/md_theme_light_tertiary3</item>
|
||||
<item name="colorOnTertiary">@color/md_theme_light_onTertiary3</item>
|
||||
<item name="colorTertiaryContainer">@color/md_theme_light_tertiaryContainer3</item>
|
||||
<item name="colorOnTertiaryContainer">@color/md_theme_light_onTertiaryContainer3</item>
|
||||
<item name="colorError">@color/md_theme_light_error3</item>
|
||||
<item name="colorOnError">@color/md_theme_light_onError3</item>
|
||||
<item name="colorErrorContainer">@color/md_theme_light_errorContainer3</item>
|
||||
<item name="colorOnErrorContainer">@color/md_theme_light_onErrorContainer3</item>
|
||||
<item name="android:colorBackground">@color/md_theme_light_background3</item>
|
||||
<item name="colorOnBackground">@color/md_theme_light_onBackground3</item>
|
||||
<item name="colorSurface">@color/md_theme_light_surface3</item>
|
||||
<item name="colorOnSurface">@color/md_theme_light_onSurface3</item>
|
||||
<item name="colorSurfaceVariant">@color/md_theme_light_surfaceVariant3</item>
|
||||
<item name="colorOnSurfaceVariant">@color/md_theme_light_onSurfaceVariant3</item>
|
||||
<item name="colorOutline">@color/md_theme_light_outline3</item>
|
||||
<item name="colorSurfaceInverse">@color/md_theme_light_inverseSurface3</item>
|
||||
<item name="colorOnSurfaceInverse">@color/md_theme_light_inverseOnSurface3</item>
|
||||
<item name="elevationOverlayColor">@color/md_theme_light_surfaceTint3</item>
|
||||
<item name="colorPrimaryInverse">@color/md_theme_light_inversePrimary3</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme4" parent="Theme.Material3.Light">
|
||||
<item name="colorPrimary">@color/md_theme_light_primary4</item>
|
||||
<item name="colorOnPrimary">@color/md_theme_light_onPrimary4</item>
|
||||
<item name="colorPrimaryContainer">@color/md_theme_light_primaryContainer4</item>
|
||||
<item name="colorOnPrimaryContainer">@color/md_theme_light_onPrimaryContainer4</item>
|
||||
<item name="colorSecondary">@color/md_theme_light_secondary4</item>
|
||||
<item name="colorOnSecondary">@color/md_theme_light_onSecondary4</item>
|
||||
<item name="colorSecondaryContainer">@color/md_theme_light_secondaryContainer4</item>
|
||||
<item name="colorOnSecondaryContainer">@color/md_theme_light_onSecondaryContainer4</item>
|
||||
<item name="colorTertiary">@color/md_theme_light_tertiary4</item>
|
||||
<item name="colorOnTertiary">@color/md_theme_light_onTertiary4</item>
|
||||
<item name="colorTertiaryContainer">@color/md_theme_light_tertiaryContainer4</item>
|
||||
<item name="colorOnTertiaryContainer">@color/md_theme_light_onTertiaryContainer4</item>
|
||||
<item name="colorError">@color/md_theme_light_error4</item>
|
||||
<item name="colorOnError">@color/md_theme_light_onError4</item>
|
||||
<item name="colorErrorContainer">@color/md_theme_light_errorContainer4</item>
|
||||
<item name="colorOnErrorContainer">@color/md_theme_light_onErrorContainer4</item>
|
||||
<item name="android:colorBackground">@color/md_theme_light_background4</item>
|
||||
<item name="colorOnBackground">@color/md_theme_light_onBackground4</item>
|
||||
<item name="colorSurface">@color/md_theme_light_surface4</item>
|
||||
<item name="colorOnSurface">@color/md_theme_light_onSurface4</item>
|
||||
<item name="colorSurfaceVariant">@color/md_theme_light_surfaceVariant4</item>
|
||||
<item name="colorOnSurfaceVariant">@color/md_theme_light_onSurfaceVariant4</item>
|
||||
<item name="colorOutline">@color/md_theme_light_outline4</item>
|
||||
<item name="colorSurfaceInverse">@color/md_theme_light_inverseSurface4</item>
|
||||
<item name="colorOnSurfaceInverse">@color/md_theme_light_inverseOnSurface4</item>
|
||||
<item name="elevationOverlayColor">@color/md_theme_light_surfaceTint4</item>
|
||||
<item name="colorPrimaryInverse">@color/md_theme_light_inversePrimary4</item>
|
||||
</style>
|
||||
</resources>
|
||||
|
|
|
@ -12,10 +12,10 @@
|
|||
app:icon="@drawable/palette_black_24dp"/>
|
||||
|
||||
<org.pixeldroid.app.settings.ColorPreference
|
||||
android:title="Color theme"
|
||||
android:title="@string/accentColorTitle"
|
||||
android:key="themeColor"
|
||||
android:defaultValue="default"
|
||||
android:summary="Choose a color theme" />
|
||||
android:defaultValue="0"
|
||||
android:summary="@string/accentColorSummary" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<ListPreference
|
||||
|
|
Loading…
Reference in New Issue