Stories progress
This commit is contained in:
parent
f0face3fb0
commit
6c85115b67
|
@ -12,6 +12,7 @@
|
|||
<uses-feature
|
||||
android:name="android.hardware.camera.any"
|
||||
android:required="false" />
|
||||
<!--TODO remove this? Don't think we use it -->
|
||||
<uses-feature android:name="android.hardware.location.gps" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.camera"
|
||||
|
@ -43,19 +44,19 @@
|
|||
<activity
|
||||
android:name=".profile.EditProfileActivity"
|
||||
android:exported="false"
|
||||
android:theme="@style/BaseAppTheme.NoActionBar" />
|
||||
android:theme="@style/BaseAppTheme" />
|
||||
|
||||
<activity
|
||||
android:name=".posts.MediaViewerActivity"
|
||||
android:configChanges="keyboardHidden|orientation|screenSize"
|
||||
android:exported="false"
|
||||
android:theme="@style/BaseAppTheme.NoActionBar" />
|
||||
android:theme="@style/BaseAppTheme" />
|
||||
<activity android:name=".postCreation.camera.CameraActivity"
|
||||
android:theme="@style/BaseAppTheme.NoActionBar"/>
|
||||
android:theme="@style/BaseAppTheme"/>
|
||||
<activity
|
||||
android:name=".posts.ReportActivity"
|
||||
android:screenOrientation="sensorPortrait"
|
||||
android:theme="@style/BaseAppTheme.NoActionBar"
|
||||
android:theme="@style/BaseAppTheme"
|
||||
tools:ignore="LockedOrientationActivity" />
|
||||
|
||||
<activity
|
||||
|
@ -64,7 +65,7 @@
|
|||
android:name=".postCreation.PostCreationActivity"
|
||||
android:exported="true"
|
||||
android:windowSoftInputMode="adjustResize"
|
||||
android:theme="@style/BaseAppTheme.NoActionBar">
|
||||
android:theme="@style/BaseAppTheme">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.SEND_MULTIPLE" />
|
||||
<action android:name="android.intent.action.SEND" />
|
||||
|
@ -77,32 +78,32 @@
|
|||
</activity>
|
||||
<activity
|
||||
android:name=".profile.FollowsActivity"
|
||||
android:theme="@style/BaseAppTheme.NoActionBar"
|
||||
android:theme="@style/BaseAppTheme"
|
||||
android:screenOrientation="sensorPortrait"
|
||||
tools:ignore="LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".posts.feeds.uncachedFeeds.hashtags.HashTagActivity"
|
||||
android:theme="@style/BaseAppTheme.NoActionBar"
|
||||
android:theme="@style/BaseAppTheme"
|
||||
android:screenOrientation="sensorPortrait"
|
||||
tools:ignore="LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".posts.PostActivity"
|
||||
android:screenOrientation="sensorPortrait"
|
||||
tools:ignore="LockedOrientationActivity"
|
||||
android:theme="@style/BaseAppTheme.NoActionBar" />
|
||||
android:theme="@style/BaseAppTheme" />
|
||||
|
||||
<activity
|
||||
android:name=".profile.ProfileActivity"
|
||||
android:screenOrientation="sensorPortrait"
|
||||
tools:ignore="LockedOrientationActivity"
|
||||
android:theme="@style/BaseAppTheme.NoActionBar"/>
|
||||
android:theme="@style/BaseAppTheme"/>
|
||||
<activity android:name=".profile.CollectionActivity"
|
||||
android:theme="@style/BaseAppTheme.NoActionBar"/>
|
||||
android:theme="@style/BaseAppTheme"/>
|
||||
<activity
|
||||
android:name=".settings.SettingsActivity"
|
||||
android:label="@string/title_activity_settings2"
|
||||
android:parentActivityName=".MainActivity"
|
||||
android:theme="@style/BaseAppTheme.NoActionBar" />
|
||||
android:theme="@style/BaseAppTheme" />
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:exported="true"
|
||||
|
@ -126,7 +127,7 @@
|
|||
android:name=".LoginActivity"
|
||||
android:exported="true"
|
||||
android:screenOrientation="sensorPortrait"
|
||||
android:theme="@style/BaseAppTheme.NoActionBar"
|
||||
android:theme="@style/BaseAppTheme"
|
||||
android:windowSoftInputMode="adjustResize"
|
||||
tools:ignore="LockedOrientationActivity">
|
||||
<intent-filter>
|
||||
|
@ -143,7 +144,7 @@
|
|||
<activity
|
||||
android:name=".searchDiscover.SearchActivity"
|
||||
android:exported="true"
|
||||
android:theme="@style/BaseAppTheme.NoActionBar"
|
||||
android:theme="@style/BaseAppTheme"
|
||||
android:launchMode="singleTop"
|
||||
android:screenOrientation="sensorPortrait"
|
||||
tools:ignore="LockedOrientationActivity">
|
||||
|
@ -156,7 +157,7 @@
|
|||
android:resource="@xml/searchable" />
|
||||
</activity>
|
||||
<activity android:name=".searchDiscover.TrendingActivity"
|
||||
android:theme="@style/BaseAppTheme.NoActionBar" />
|
||||
android:theme="@style/BaseAppTheme" />
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
|
|
|
@ -2,11 +2,11 @@ package org.pixeldroid.app.posts
|
|||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import org.pixeldroid.app.databinding.ActivityAlbumBinding
|
||||
import org.pixeldroid.app.utils.BaseActivity
|
||||
import org.pixeldroid.app.utils.api.objects.Attachment
|
||||
|
||||
class AlbumActivity : BaseActivity() {
|
||||
class AlbumActivity : AppCompatActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
val binding = ActivityAlbumBinding.inflate(layoutInflater)
|
||||
|
|
|
@ -6,9 +6,11 @@ import android.widget.ProgressBar
|
|||
import androidx.constraintlayout.motion.widget.MotionLayout
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.lifecycle.LifecycleCoroutineScope
|
||||
import androidx.paging.CombinedLoadStates
|
||||
import androidx.paging.LoadState
|
||||
import androidx.paging.LoadStateAdapter
|
||||
import androidx.paging.PagingDataAdapter
|
||||
import androidx.recyclerview.widget.ConcatAdapter
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
|
@ -21,6 +23,7 @@ import org.pixeldroid.app.R
|
|||
import org.pixeldroid.app.databinding.ErrorLayoutBinding
|
||||
import org.pixeldroid.app.databinding.LoadStateFooterViewItemBinding
|
||||
import org.pixeldroid.app.posts.feeds.uncachedFeeds.FeedViewModel
|
||||
import org.pixeldroid.app.stories.StoriesAdapter
|
||||
import org.pixeldroid.app.utils.api.objects.FeedContent
|
||||
import org.pixeldroid.app.utils.api.objects.Status
|
||||
import retrofit2.HttpException
|
||||
|
@ -49,14 +52,28 @@ private fun showError(
|
|||
internal fun <T: Any> initAdapter(
|
||||
progressBar: ProgressBar, swipeRefreshLayout: SwipeRefreshLayout,
|
||||
recyclerView: RecyclerView, motionLayout: MotionLayout, errorLayout: ErrorLayoutBinding,
|
||||
adapter: PagingDataAdapter<T, RecyclerView.ViewHolder>) {
|
||||
adapter: PagingDataAdapter<T, RecyclerView.ViewHolder>,
|
||||
header: StoriesAdapter? = null
|
||||
) {
|
||||
|
||||
recyclerView.adapter = adapter.withLoadStateFooter(
|
||||
footer = ReposLoadStateAdapter { adapter.retry() }
|
||||
|
||||
val footer = ReposLoadStateAdapter { adapter.retry() }
|
||||
|
||||
adapter.addLoadStateListener { loadStates: CombinedLoadStates ->
|
||||
footer.loadState = loadStates.append
|
||||
}
|
||||
|
||||
recyclerView.adapter = ConcatAdapter(
|
||||
*listOfNotNull(
|
||||
header, // need to filter it if null
|
||||
adapter,
|
||||
footer
|
||||
).toTypedArray()
|
||||
)
|
||||
|
||||
swipeRefreshLayout.setOnRefreshListener {
|
||||
adapter.refresh()
|
||||
header?.refreshStories()
|
||||
}
|
||||
|
||||
adapter.addLoadStateListener { loadState ->
|
||||
|
@ -149,6 +166,8 @@ class ReposLoadStateAdapter(
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* [RecyclerView.ViewHolder] that is shown at the end of the feed to indicate loading or errors
|
||||
* in the loading of appending values.
|
||||
|
|
|
@ -18,6 +18,7 @@ import kotlinx.coroutines.flow.distinctUntilChangedBy
|
|||
import kotlinx.coroutines.flow.filter
|
||||
import org.pixeldroid.app.databinding.FragmentFeedBinding
|
||||
import org.pixeldroid.app.posts.feeds.initAdapter
|
||||
import org.pixeldroid.app.stories.StoriesAdapter
|
||||
import org.pixeldroid.app.utils.BaseFragment
|
||||
import org.pixeldroid.app.utils.api.objects.FeedContentDatabase
|
||||
import org.pixeldroid.app.utils.db.AppDatabase
|
||||
|
@ -31,6 +32,7 @@ open class CachedFeedFragment<T: FeedContentDatabase> : BaseFragment() {
|
|||
|
||||
internal lateinit var viewModel: FeedViewModel<T>
|
||||
internal lateinit var adapter: PagingDataAdapter<T, RecyclerView.ViewHolder>
|
||||
internal var headerAdapter: StoriesAdapter? = null
|
||||
|
||||
private lateinit var binding: FragmentFeedBinding
|
||||
|
||||
|
@ -49,6 +51,7 @@ open class CachedFeedFragment<T: FeedContentDatabase> : BaseFragment() {
|
|||
}
|
||||
}
|
||||
|
||||
//TODO rename function to something that makes sense
|
||||
internal fun initSearch() {
|
||||
// Scroll to top when the list is refreshed from network.
|
||||
lifecycleScope.launchWhenStarted {
|
||||
|
@ -73,7 +76,9 @@ open class CachedFeedFragment<T: FeedContentDatabase> : BaseFragment() {
|
|||
binding = FragmentFeedBinding.inflate(layoutInflater)
|
||||
|
||||
initAdapter(binding.progressBar, binding.swipeRefreshLayout,
|
||||
binding.list, binding.motionLayout, binding.errorLayout, adapter)
|
||||
binding.list, binding.motionLayout, binding.errorLayout, adapter,
|
||||
headerAdapter
|
||||
)
|
||||
|
||||
return binding.root
|
||||
}
|
||||
|
|
|
@ -11,12 +11,11 @@ import androidx.paging.PagingDataAdapter
|
|||
import androidx.paging.RemoteMediator
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import org.pixeldroid.app.R
|
||||
import org.pixeldroid.app.posts.StatusViewHolder
|
||||
import org.pixeldroid.app.posts.feeds.cachedFeeds.CachedFeedFragment
|
||||
import org.pixeldroid.app.posts.feeds.cachedFeeds.FeedViewModel
|
||||
import org.pixeldroid.app.posts.feeds.cachedFeeds.ViewModelFactory
|
||||
import org.pixeldroid.app.stories.StoryCarouselViewHolder
|
||||
import org.pixeldroid.app.stories.StoriesAdapter
|
||||
import org.pixeldroid.app.utils.api.objects.FeedContentDatabase
|
||||
import org.pixeldroid.app.utils.api.objects.Status
|
||||
import org.pixeldroid.app.utils.db.dao.feedContent.FeedContentDao
|
||||
|
@ -39,14 +38,18 @@ class PostFeedFragment<T: FeedContentDatabase>: CachedFeedFragment<T>() {
|
|||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
adapter = PostsAdapter(requireContext().displayDimensionsInPx())
|
||||
|
||||
home = requireArguments().getBoolean("home")
|
||||
|
||||
adapter = PostsAdapter(requireContext().displayDimensionsInPx())
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
if (home){
|
||||
mediator = HomeFeedRemoteMediator(apiHolder, db) as RemoteMediator<Int, T>
|
||||
dao = db.homePostDao() as FeedContentDao<T>
|
||||
headerAdapter = StoriesAdapter(lifecycleScope, apiHolder)
|
||||
headerAdapter?.showStories = false
|
||||
|
||||
headerAdapter?.refreshStories()
|
||||
}
|
||||
else {
|
||||
mediator = PublicFeedRemoteMediator(apiHolder, db) as RemoteMediator<Int, T>
|
||||
|
@ -79,35 +82,20 @@ class PostFeedFragment<T: FeedContentDatabase>: CachedFeedFragment<T>() {
|
|||
) {
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||
return if(viewType == R.layout.post_fragment){
|
||||
StatusViewHolder.create(parent)
|
||||
} else {
|
||||
StoryCarouselViewHolder.create(parent)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getItemViewType(position: Int): Int {
|
||||
return if(home && position == 0) R.layout.story_carousel
|
||||
else R.layout.post_fragment
|
||||
return StatusViewHolder.create(parent)
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
|
||||
if(home && position == 0){
|
||||
holder.itemView.visibility = View.GONE
|
||||
holder.itemView.layoutParams = RecyclerView.LayoutParams(0, 0)
|
||||
(holder as StoryCarouselViewHolder).bind(apiHolder, lifecycleScope, holder.itemView)
|
||||
} else {
|
||||
holder.itemView.visibility = View.VISIBLE
|
||||
holder.itemView.layoutParams =
|
||||
RecyclerView.LayoutParams(
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT
|
||||
)
|
||||
val uiModel = getItem(if(home) position - 1 else position) as Status?
|
||||
val uiModel = getItem(position) as Status?
|
||||
uiModel?.let {
|
||||
(holder as StatusViewHolder).bind(it, apiHolder, db, lifecycleScope, displayDimensionsInPx)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -61,8 +61,10 @@ open class UncachedFeedFragment<T: FeedContent> : BaseFragment() {
|
|||
|
||||
binding = FragmentFeedBinding.inflate(layoutInflater)
|
||||
|
||||
initAdapter(binding.progressBar, binding.swipeRefreshLayout, binding.list,
|
||||
binding.motionLayout, binding.errorLayout, adapter)
|
||||
initAdapter(
|
||||
binding.progressBar, binding.swipeRefreshLayout, binding.list,
|
||||
binding.motionLayout, binding.errorLayout, adapter
|
||||
)
|
||||
|
||||
return binding.root
|
||||
}
|
||||
|
|
|
@ -38,21 +38,19 @@ class SettingsActivity : ThemedActivity(), SharedPreferences.OnSharedPreferenceC
|
|||
.commit()
|
||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||
|
||||
onBackPressedDispatcher.addCallback(this) {
|
||||
onBackPressedDispatcher.addCallback(this /* lifecycle owner */) {
|
||||
// Handle the back button event
|
||||
// If a setting (for example language or theme) was changed, the main activity should be
|
||||
// started without history so that the change is applied to the whole back stack
|
||||
if (restartMainOnExit) {
|
||||
val intent = Intent(this@SettingsActivity, MainActivity::class.java)
|
||||
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||||
super.startActivity(intent)
|
||||
super@SettingsActivity.startActivity(intent)
|
||||
} else {
|
||||
super.onBackPressedDispatcher.onBackPressed()
|
||||
finish()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
restartMainOnExit = intent.getBooleanExtra("restartMain", false)
|
||||
}
|
||||
|
||||
|
|
|
@ -126,7 +126,12 @@ class StoriesViewModel(
|
|||
viewModelScope.launch {
|
||||
try {
|
||||
val api = apiHolder.api ?: apiHolder.setToCurrentUser()
|
||||
currentStoryId()?.let { api.storySeen(it) }
|
||||
val story = currentAccount?.nodes?.getOrNull(uiState.value.currentImage)
|
||||
|
||||
if (story?.seen == true){
|
||||
//TODO update seen when marked successfully as seen?
|
||||
story.id?.let { api.storySeen(it) }
|
||||
}
|
||||
} catch (exception: Exception){
|
||||
_uiState.update { currentUiState ->
|
||||
currentUiState.copy(errorMessage = R.string.story_could_not_see)
|
||||
|
|
|
@ -3,9 +3,9 @@ package org.pixeldroid.app.stories
|
|||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.lifecycle.LifecycleCoroutineScope
|
||||
import androidx.paging.LoadState
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import kotlinx.coroutines.launch
|
||||
|
@ -15,51 +15,90 @@ import org.pixeldroid.app.databinding.StoryCarouselBinding
|
|||
import org.pixeldroid.app.databinding.StoryCarouselItemBinding
|
||||
import org.pixeldroid.app.postCreation.camera.CameraActivity
|
||||
import org.pixeldroid.app.postCreation.camera.CameraFragment
|
||||
import org.pixeldroid.app.postCreation.carousel.dpToPx
|
||||
import org.pixeldroid.app.utils.api.objects.CarouselUserContainer
|
||||
import org.pixeldroid.app.utils.api.objects.StoryCarousel
|
||||
import org.pixeldroid.app.utils.di.PixelfedAPIHolder
|
||||
|
||||
class StoryCarouselViewHolder(val binding: StoryCarouselBinding) : RecyclerView.ViewHolder(binding.root) {
|
||||
|
||||
fun bind(
|
||||
pixelfedAPI: PixelfedAPIHolder,
|
||||
lifecycleScope: LifecycleCoroutineScope,
|
||||
itemView: View
|
||||
) {
|
||||
val adapter = StoriesListAdapter()
|
||||
binding.storyCarousel.adapter = adapter
|
||||
/**
|
||||
* Adapter to the show the a [RecyclerView] item for a [LoadState]
|
||||
*/
|
||||
class StoriesAdapter(val lifecycleScope: LifecycleCoroutineScope, val apiHolder: PixelfedAPIHolder) : RecyclerView.Adapter<StoryCarouselViewHolder>() {
|
||||
var carousel: StoryCarousel? = null
|
||||
|
||||
loadStories(adapter, lifecycleScope, pixelfedAPI, itemView)
|
||||
/**
|
||||
* Whether to show stories or not.
|
||||
*
|
||||
* Changing this property will immediately notify the Adapter to change the item it's
|
||||
* presenting.
|
||||
*/
|
||||
var showStories: Boolean = false
|
||||
set(newValue) {
|
||||
val oldValue = field
|
||||
|
||||
if (oldValue && !newValue) {
|
||||
notifyItemRemoved(0)
|
||||
} else if (newValue && !oldValue) {
|
||||
notifyItemInserted(0)
|
||||
} else if (oldValue && newValue) {
|
||||
notifyItemChanged(0)
|
||||
}
|
||||
field = newValue
|
||||
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): StoryCarouselViewHolder {
|
||||
return StoryCarouselViewHolder.create(parent, ::noStories)
|
||||
}
|
||||
|
||||
private fun loadStories(
|
||||
adapter: StoriesListAdapter,
|
||||
lifecycleScope: LifecycleCoroutineScope,
|
||||
apiHolder: PixelfedAPIHolder,
|
||||
itemView: View
|
||||
) {
|
||||
override fun onBindViewHolder(holder: StoryCarouselViewHolder, position: Int) {
|
||||
holder.bind(carousel)
|
||||
}
|
||||
|
||||
override fun getItemViewType(position: Int): Int = 0
|
||||
|
||||
override fun getItemCount(): Int = if (showStories) 1 else 0
|
||||
|
||||
private fun noStories(){
|
||||
showStories = false
|
||||
}
|
||||
|
||||
private fun gotStories(newCarousel: StoryCarousel) {
|
||||
carousel = newCarousel
|
||||
showStories = true
|
||||
}
|
||||
|
||||
fun refreshStories(){
|
||||
lifecycleScope.launch {
|
||||
try{
|
||||
val api = apiHolder.api ?: apiHolder.setToCurrentUser()
|
||||
val carousel = api.carousel()
|
||||
|
||||
if (carousel.nodes?.isEmpty() != true) {
|
||||
itemView.visibility = View.VISIBLE
|
||||
itemView.layoutParams.height = 200.dpToPx(binding.root.context)
|
||||
itemView.layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT
|
||||
|
||||
adapter.initCarousel(carousel)
|
||||
// Pass carousel to adapter
|
||||
gotStories(carousel)
|
||||
} else {
|
||||
noStories()
|
||||
}
|
||||
|
||||
} catch (exception: Exception){
|
||||
//TODO
|
||||
noStories()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class StoryCarouselViewHolder(val binding: StoryCarouselBinding) : RecyclerView.ViewHolder(binding.root) {
|
||||
|
||||
fun bind(carousel: StoryCarousel?) {
|
||||
val adapter = StoriesListAdapter()
|
||||
binding.storyCarousel.adapter = adapter
|
||||
|
||||
carousel?.let { adapter.initCarousel(it) }
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun create(parent: ViewGroup): StoryCarouselViewHolder {
|
||||
fun create(parent: ViewGroup, noStories: () -> Unit): StoryCarouselViewHolder {
|
||||
val itemBinding = StoryCarouselBinding.inflate(
|
||||
LayoutInflater.from(parent.context), parent, false
|
||||
)
|
||||
|
|
|
@ -235,7 +235,7 @@ interface PixelfedAPI {
|
|||
@Query("post_id") post_id: String,
|
||||
)
|
||||
|
||||
@GET("/api/v1.1/stories/carousel")
|
||||
@GET("/api/pixelfed/v1/stories/self-carousel")
|
||||
suspend fun carousel(): StoryCarousel
|
||||
|
||||
@POST("/api/v1.1/stories/seen")
|
||||
|
|
|
@ -10,6 +10,7 @@ import dagger.Component
|
|||
import org.pixeldroid.app.postCreation.PostCreationViewModel
|
||||
import org.pixeldroid.app.profile.EditProfileViewModel
|
||||
import org.pixeldroid.app.stories.StoriesViewModel
|
||||
import org.pixeldroid.app.stories.StoryCarouselViewHolder
|
||||
import org.pixeldroid.app.utils.notificationsWorker.NotificationsWorker
|
||||
import javax.inject.Singleton
|
||||
|
||||
|
|
|
@ -1,134 +0,0 @@
|
|||
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<style name="BaseAppTheme" parent="Theme.Material3.Dark">
|
||||
<item name="android:windowLightStatusBar">?attr/isLightTheme</item>
|
||||
<item name="android:navigationBarColor">?attr/colorSurface</item>
|
||||
<item name="android:statusBarColor">?attr/colorSecondaryContainer</item>
|
||||
<item name="android:windowLightNavigationBar" tools:targetApi="o_mr1">?attr/isLightTheme</item>
|
||||
<item name="android:windowDrawsSystemBarBackgrounds" tools:targetApi="o_mr1">true</item>
|
||||
<item name="toolbarStyle">@style/Toolbar</item>
|
||||
<item name="materialDrawerStyle">@style/Widget.MaterialDrawerStyle</item>
|
||||
<item name="materialDrawerHeaderStyle">@style/Widget.MaterialDrawerHeaderStyle</item>
|
||||
|
||||
</style>
|
||||
|
||||
<style name="AppTheme2" parent="BaseAppTheme">
|
||||
<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>
|
||||
<item name="colorOnPrimaryContainer">@color/md_theme_dark_onPrimaryContainer2</item>
|
||||
<item name="colorSecondary">@color/md_theme_dark_secondary2</item>
|
||||
<item name="colorOnSecondary">@color/md_theme_dark_onSecondary2</item>
|
||||
<item name="colorSecondaryContainer">@color/md_theme_dark_secondaryContainer2</item>
|
||||
<item name="colorOnSecondaryContainer">@color/md_theme_dark_onSecondaryContainer2</item>
|
||||
<item name="colorTertiary">@color/md_theme_dark_tertiary2</item>
|
||||
<item name="colorOnTertiary">@color/md_theme_dark_onTertiary2</item>
|
||||
<item name="colorTertiaryContainer">@color/md_theme_dark_tertiaryContainer2</item>
|
||||
<item name="colorOnTertiaryContainer">@color/md_theme_dark_onTertiaryContainer2</item>
|
||||
<item name="colorError">@color/md_theme_dark_error2</item>
|
||||
<item name="colorOnError">@color/md_theme_dark_onError2</item>
|
||||
<item name="colorErrorContainer">@color/md_theme_dark_errorContainer2</item>
|
||||
<item name="colorOnErrorContainer">@color/md_theme_dark_onErrorContainer2</item>
|
||||
<item name="android:colorBackground">@color/md_theme_dark_background2</item>
|
||||
<item name="colorOnBackground">@color/md_theme_dark_onBackground2</item>
|
||||
<item name="colorSurface">@color/md_theme_dark_surface2</item>
|
||||
<item name="colorOnSurface">@color/md_theme_dark_onSurface2</item>
|
||||
<item name="colorSurfaceVariant">@color/md_theme_dark_surfaceVariant2</item>
|
||||
<item name="colorOnSurfaceVariant">@color/md_theme_dark_onSurfaceVariant2</item>
|
||||
<item name="colorOutline">@color/md_theme_dark_outline2</item>
|
||||
<item name="colorSurfaceInverse">@color/md_theme_dark_inverseSurface2</item>
|
||||
<item name="colorOnSurfaceInverse">@color/md_theme_dark_inverseOnSurface2</item>
|
||||
<item name="elevationOverlayColor">@color/md_theme_dark_surfaceTint2</item>
|
||||
<item name="colorPrimaryInverse">@color/md_theme_dark_inversePrimary2</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme3" parent="BaseAppTheme">
|
||||
<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="BaseAppTheme">
|
||||
<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>
|
||||
|
||||
<style name="AppTheme5" parent="BaseAppTheme">
|
||||
<item name="colorPrimary">@color/md_theme_dark_primary</item>
|
||||
<item name="colorOnPrimary">@color/md_theme_dark_onPrimary</item>
|
||||
<item name="colorPrimaryContainer">@color/md_theme_dark_primaryContainer</item>
|
||||
<item name="colorOnPrimaryContainer">@color/md_theme_dark_onPrimaryContainer</item>
|
||||
<item name="colorSecondary">@color/md_theme_dark_secondary</item>
|
||||
<item name="colorOnSecondary">@color/md_theme_dark_onSecondary</item>
|
||||
<item name="colorSecondaryContainer">@color/md_theme_dark_secondaryContainer</item>
|
||||
<item name="colorOnSecondaryContainer">@color/md_theme_dark_onSecondaryContainer</item>
|
||||
<item name="colorTertiary">@color/md_theme_dark_tertiary</item>
|
||||
<item name="colorOnTertiary">@color/md_theme_dark_onTertiary</item>
|
||||
<item name="colorTertiaryContainer">@color/md_theme_dark_tertiaryContainer</item>
|
||||
<item name="colorOnTertiaryContainer">@color/md_theme_dark_onTertiaryContainer</item>
|
||||
<item name="colorError">@color/md_theme_dark_error</item>
|
||||
<item name="colorErrorContainer">@color/md_theme_dark_errorContainer</item>
|
||||
<item name="colorOnError">@color/md_theme_dark_onError</item>
|
||||
<item name="colorOnErrorContainer">@color/md_theme_dark_onErrorContainer</item>
|
||||
<item name="android:colorBackground">@color/md_theme_dark_background</item>
|
||||
<item name="colorOnBackground">@color/md_theme_dark_onBackground</item>
|
||||
<item name="colorSurface">@color/md_theme_dark_surface</item>
|
||||
<item name="colorOnSurface">@color/md_theme_dark_onSurface</item>
|
||||
<item name="colorSurfaceVariant">@color/md_theme_dark_surfaceVariant</item>
|
||||
<item name="colorOnSurfaceVariant">@color/md_theme_dark_onSurfaceVariant</item>
|
||||
<item name="colorOutline">@color/md_theme_dark_outline</item>
|
||||
<item name="colorOnSurfaceInverse">@color/md_theme_dark_inverseOnSurface</item>
|
||||
<item name="colorSurfaceInverse">@color/md_theme_dark_inverseSurface</item>
|
||||
<item name="elevationOverlayColor">@color/md_theme_dark_surfaceTint</item>
|
||||
<item name="colorPrimaryInverse">@color/md_theme_dark_inversePrimary</item>
|
||||
</style>
|
||||
</resources>
|
|
@ -10,11 +10,9 @@
|
|||
<!-- TODO get rid of duplicated mascot/mascot_small somehow -->
|
||||
<item name="windowSplashScreenAnimatedIcon">@drawable/mascot_small</item>
|
||||
|
||||
|
||||
|
||||
<!-- Set the theme of the Activity that directly follows your splash screen. -->
|
||||
<!-- Required -->
|
||||
<item name="postSplashScreenTheme">@style/BaseAppTheme.NoActionBar</item>
|
||||
<item name="postSplashScreenTheme">@style/BaseAppTheme</item>
|
||||
<item name="windowActionBar">false</item>
|
||||
<item name="windowNoTitle">true</item>
|
||||
</style>
|
||||
|
@ -49,179 +47,4 @@
|
|||
<item name="android:background">@android:color/transparent</item>
|
||||
<item name="background">@android:color/transparent</item>
|
||||
</style>
|
||||
|
||||
|
||||
<style name="BaseAppTheme" parent="Theme.Material3.Light">
|
||||
<item name="android:navigationBarColor">?attr/colorSurface</item>
|
||||
<item name="android:statusBarColor">
|
||||
@android:color/transparent
|
||||
</item>
|
||||
<item name="android:windowLightNavigationBar" tools:targetApi="o_mr1">?attr/isLightTheme</item>
|
||||
<item name="android:windowDrawsSystemBarBackgrounds" tools:targetApi="o_mr1">true</item>
|
||||
<item name="android:windowLightStatusBar">?attr/isLightTheme</item>
|
||||
<item name="toolbarStyle">@style/Toolbar</item>
|
||||
<item name="android:toolbarStyle">@style/Toolbar</item>
|
||||
<item name="materialDrawerStyle">@style/Widget.MaterialDrawerStyle</item>
|
||||
<item name="materialDrawerHeaderStyle">@style/Widget.MaterialDrawerHeaderStyle</item>
|
||||
|
||||
</style>
|
||||
|
||||
<style name="Toolbar" parent="Widget.Material3.Toolbar">
|
||||
<item name="android:background">?attr/colorSecondaryContainer</item>
|
||||
<item name="background">?attr/colorSecondaryContainer</item>
|
||||
<item name="titleTextColor">?attr/colorOnSecondaryContainer</item>
|
||||
<item name="subtitleTextColor">?attr/colorOnSecondaryContainer</item>
|
||||
<item name="navigationIconTint">?attr/colorOnSecondaryContainer</item>
|
||||
</style>
|
||||
|
||||
|
||||
<style name="AppTheme2" parent="BaseAppTheme">
|
||||
<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>
|
||||
<item name="colorOnPrimaryContainer">@color/md_theme_light_onPrimaryContainer2</item>
|
||||
<item name="colorSecondary">@color/md_theme_light_secondary2</item>
|
||||
<item name="colorOnSecondary">@color/md_theme_light_onSecondary2</item>
|
||||
<item name="colorSecondaryContainer">@color/md_theme_light_secondaryContainer2</item>
|
||||
<item name="colorOnSecondaryContainer">@color/md_theme_light_onSecondaryContainer2</item>
|
||||
<item name="colorTertiary">@color/md_theme_light_tertiary2</item>
|
||||
<item name="colorOnTertiary">@color/md_theme_light_onTertiary2</item>
|
||||
<item name="colorTertiaryContainer">@color/md_theme_light_tertiaryContainer2</item>
|
||||
<item name="colorOnTertiaryContainer">@color/md_theme_light_onTertiaryContainer2</item>
|
||||
<item name="colorError">@color/md_theme_light_error2</item>
|
||||
<item name="colorOnError">@color/md_theme_light_onError2</item>
|
||||
<item name="colorErrorContainer">@color/md_theme_light_errorContainer2</item>
|
||||
<item name="colorOnErrorContainer">@color/md_theme_light_onErrorContainer2</item>
|
||||
<item name="android:colorBackground">@color/md_theme_light_background2</item>
|
||||
<item name="colorOnBackground">@color/md_theme_light_onBackground2</item>
|
||||
<item name="colorSurface">@color/md_theme_light_surface2</item>
|
||||
<item name="colorOnSurface">@color/md_theme_light_onSurface2</item>
|
||||
<item name="colorSurfaceVariant">@color/md_theme_light_surfaceVariant2</item>
|
||||
<item name="colorOnSurfaceVariant">@color/md_theme_light_onSurfaceVariant2</item>
|
||||
<item name="colorOutline">@color/md_theme_light_outline2</item>
|
||||
<item name="colorSurfaceInverse">@color/md_theme_light_inverseSurface2</item>
|
||||
<item name="colorOnSurfaceInverse">@color/md_theme_light_inverseOnSurface2</item>
|
||||
<item name="elevationOverlayColor">@color/md_theme_light_surfaceTint2</item>
|
||||
<item name="colorPrimaryInverse">@color/md_theme_light_inversePrimary2</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme3" parent="BaseAppTheme">
|
||||
<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="BaseAppTheme">
|
||||
<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>
|
||||
|
||||
<style name="AppTheme5" parent="BaseAppTheme">
|
||||
<item name="colorPrimary">@color/md_theme_light_primary</item>
|
||||
<item name="colorOnPrimary">@color/md_theme_light_onPrimary</item>
|
||||
<item name="colorPrimaryContainer">@color/md_theme_light_primaryContainer</item>
|
||||
<item name="colorOnPrimaryContainer">@color/md_theme_light_onPrimaryContainer</item>
|
||||
<item name="colorSecondary">@color/md_theme_light_secondary</item>
|
||||
<item name="colorOnSecondary">@color/md_theme_light_onSecondary</item>
|
||||
<item name="colorSecondaryContainer">@color/md_theme_light_secondaryContainer</item>
|
||||
<item name="colorOnSecondaryContainer">@color/md_theme_light_onSecondaryContainer</item>
|
||||
<item name="colorTertiary">@color/md_theme_light_tertiary</item>
|
||||
<item name="colorOnTertiary">@color/md_theme_light_onTertiary</item>
|
||||
<item name="colorTertiaryContainer">@color/md_theme_light_tertiaryContainer</item>
|
||||
<item name="colorOnTertiaryContainer">@color/md_theme_light_onTertiaryContainer</item>
|
||||
<item name="colorError">@color/md_theme_light_error</item>
|
||||
<item name="colorErrorContainer">@color/md_theme_light_errorContainer</item>
|
||||
<item name="colorOnError">@color/md_theme_light_onError</item>
|
||||
<item name="colorOnErrorContainer">@color/md_theme_light_onErrorContainer</item>
|
||||
<item name="android:colorBackground">@color/md_theme_light_background</item>
|
||||
<item name="colorOnBackground">@color/md_theme_light_onBackground</item>
|
||||
<item name="colorSurface">@color/md_theme_light_surface</item>
|
||||
<item name="colorOnSurface">@color/md_theme_light_onSurface</item>
|
||||
<item name="colorSurfaceVariant">@color/md_theme_light_surfaceVariant</item>
|
||||
<item name="colorOnSurfaceVariant">@color/md_theme_light_onSurfaceVariant</item>
|
||||
<item name="colorOutline">@color/md_theme_light_outline</item>
|
||||
<item name="colorOnSurfaceInverse">@color/md_theme_light_inverseOnSurface</item>
|
||||
<item name="colorSurfaceInverse">@color/md_theme_light_inverseSurface</item>
|
||||
<item name="elevationOverlayColor">@color/md_theme_light_surfaceTint</item>
|
||||
<item name="colorPrimaryInverse">@color/md_theme_light_inversePrimary</item>
|
||||
</style>
|
||||
|
||||
<style name="BaseAppTheme.NoActionBar" parent="BaseAppTheme">
|
||||
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||
<item name="windowActionBar">false</item>
|
||||
<item name="windowNoTitle">true</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme2.NoActionBar" parent="AppTheme2">
|
||||
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||
<item name="windowActionBar">false</item>
|
||||
<item name="windowNoTitle">true</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme3.NoActionBar" parent="AppTheme3">
|
||||
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||
<item name="windowActionBar">false</item>
|
||||
<item name="windowNoTitle">true</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme4.NoActionBar" parent="AppTheme4">
|
||||
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||
<item name="windowActionBar">false</item>
|
||||
<item name="windowNoTitle">true</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme5.NoActionBar" parent="AppTheme5">
|
||||
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||
<item name="windowActionBar">false</item>
|
||||
<item name="windowNoTitle">true</item>
|
||||
</style>
|
||||
</resources>
|
||||
|
|
Loading…
Reference in New Issue