INCOGNITO (final fix) (#143)

This commit is contained in:
aayush262 2024-01-21 01:23:33 +05:30 committed by GitHub
parent 4cee512572
commit 8067e0d0ac
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 87 additions and 34 deletions

View file

@ -104,9 +104,9 @@ class MainActivity : AppCompatActivity() {
} catch (e: Exception) { } catch (e: Exception) {
statusBarHeight statusBarHeight
} }
val layoutParams = binding.incognitoTextView.layoutParams as ViewGroup.MarginLayoutParams val layoutParams = binding.incognito.layoutParams as ViewGroup.MarginLayoutParams
layoutParams.topMargin = 11 * offset / 12 layoutParams.topMargin = 11 * offset / 12
binding.incognitoTextView.layoutParams = layoutParams binding.incognito.layoutParams = layoutParams
incognitoLiveData = SharedPreferenceBooleanLiveData( incognitoLiveData = SharedPreferenceBooleanLiveData(
sharedPreferences, sharedPreferences,
"incognito", "incognito",
@ -115,26 +115,26 @@ class MainActivity : AppCompatActivity() {
incognitoLiveData.observe(this) { incognitoLiveData.observe(this) {
if (it) { if (it) {
val slideDownAnim = ObjectAnimator.ofFloat( val slideDownAnim = ObjectAnimator.ofFloat(
binding.incognitoTextView, binding.incognito,
View.TRANSLATION_Y, View.TRANSLATION_Y,
-(binding.incognitoTextView.height.toFloat() + statusBarHeight), -(binding.incognito.height.toFloat() + statusBarHeight),
0f 0f
) )
slideDownAnim.duration = 200 slideDownAnim.duration = 200
slideDownAnim.start() slideDownAnim.start()
binding.incognitoTextView.visibility = View.VISIBLE binding.incognito.visibility = View.VISIBLE
} else { } else {
val slideUpAnim = ObjectAnimator.ofFloat( val slideUpAnim = ObjectAnimator.ofFloat(
binding.incognitoTextView, binding.incognito,
View.TRANSLATION_Y, View.TRANSLATION_Y,
0f, 0f,
-(binding.incognitoTextView.height.toFloat() + statusBarHeight) -(binding.incognito.height.toFloat() + statusBarHeight)
) )
slideUpAnim.duration = 200 slideUpAnim.duration = 200
slideUpAnim.start() slideUpAnim.start()
//wait for animation to finish //wait for animation to finish
Handler(Looper.getMainLooper()).postDelayed( Handler(Looper.getMainLooper()).postDelayed(
{ binding.incognitoTextView.visibility = View.GONE }, { binding.incognito.visibility = View.GONE },
200 200
) )
} }

View file

@ -17,7 +17,6 @@ import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.content.res.AppCompatResources import androidx.appcompat.content.res.AppCompatResources
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.graphics.drawable.DrawableCompat
import androidx.core.text.bold import androidx.core.text.bold
import androidx.core.text.color import androidx.core.text.color
import androidx.core.view.updateLayoutParams import androidx.core.view.updateLayoutParams
@ -44,7 +43,6 @@ import ani.dantotsu.media.novel.NovelReadFragment
import ani.dantotsu.navBarHeight import ani.dantotsu.navBarHeight
import ani.dantotsu.openLinkInBrowser import ani.dantotsu.openLinkInBrowser
import ani.dantotsu.others.ImageViewDialog import ani.dantotsu.others.ImageViewDialog
import ani.dantotsu.others.LangSet
import ani.dantotsu.others.getSerialized import ani.dantotsu.others.getSerialized
import ani.dantotsu.saveData import ani.dantotsu.saveData
import ani.dantotsu.settings.UserInterfaceSettings import ani.dantotsu.settings.UserInterfaceSettings
@ -97,6 +95,7 @@ class MediaDetailsActivity : AppCompatActivity(), AppBarLayout.OnOffsetChangedLi
binding.mediaBanner.updateLayoutParams { height += statusBarHeight } binding.mediaBanner.updateLayoutParams { height += statusBarHeight }
binding.mediaBannerNoKen.updateLayoutParams { height += statusBarHeight } binding.mediaBannerNoKen.updateLayoutParams { height += statusBarHeight }
binding.mediaClose.updateLayoutParams<ViewGroup.MarginLayoutParams> { topMargin += statusBarHeight } binding.mediaClose.updateLayoutParams<ViewGroup.MarginLayoutParams> { topMargin += statusBarHeight }
binding.incognito.updateLayoutParams<ViewGroup.MarginLayoutParams> { topMargin += statusBarHeight }
binding.mediaCollapsing.minimumHeight = statusBarHeight binding.mediaCollapsing.minimumHeight = statusBarHeight
if (binding.mediaTab is CustomBottomNavBar) binding.mediaTab.updateLayoutParams<ViewGroup.MarginLayoutParams> { if (binding.mediaTab is CustomBottomNavBar) binding.mediaTab.updateLayoutParams<ViewGroup.MarginLayoutParams> {
@ -162,21 +161,16 @@ class MediaDetailsActivity : AppCompatActivity(), AppBarLayout.OnOffsetChangedLi
banner.setOnTouchListener { _, motionEvent -> gestureDetector.onTouchEvent(motionEvent);true } banner.setOnTouchListener { _, motionEvent -> gestureDetector.onTouchEvent(motionEvent);true }
if (this.getSharedPreferences("Dantotsu", Context.MODE_PRIVATE) if (this.getSharedPreferences("Dantotsu", Context.MODE_PRIVATE)
.getBoolean("incognito", false)) { .getBoolean("incognito", false)) {
binding.mediaTitle.text = " ${media.userPreferredName}" binding.mediaTitle.text = " ${media.userPreferredName}"
binding.mediaTitleCollapse.text = " ${media.userPreferredName}" binding.incognito.visibility = View.VISIBLE
val drawable = ContextCompat.getDrawable(this, R.drawable.ic_incognito_24)
val color = ContextCompat.getColor(this, R.color.incognito)
DrawableCompat.setTint(drawable!!, color)
binding.mediaTitle.setCompoundDrawablesRelativeWithIntrinsicBounds(drawable, null, null, null)
binding.mediaTitleCollapse.setCompoundDrawablesRelativeWithIntrinsicBounds(drawable, null, null, null)
}else { }else {
binding.mediaTitle.text = media.userPreferredName binding.mediaTitle.text = media.userPreferredName
binding.mediaTitleCollapse.text = media.userPreferredName
} }
binding.mediaTitle.setOnLongClickListener { binding.mediaTitle.setOnLongClickListener {
copyToClipboard(media.userPreferredName) copyToClipboard(media.userPreferredName)
true true
} }
binding.mediaTitleCollapse.text = media.userPreferredName
binding.mediaTitleCollapse.setOnLongClickListener { binding.mediaTitleCollapse.setOnLongClickListener {
copyToClipboard(media.userPreferredName) copyToClipboard(media.userPreferredName)
true true

View file

@ -1,6 +1,8 @@
package ani.dantotsu.media package ani.dantotsu.media
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context
import android.graphics.drawable.Drawable
import android.text.Editable import android.text.Editable
import android.text.TextWatcher import android.text.TextWatcher
import android.view.LayoutInflater import android.view.LayoutInflater
@ -10,10 +12,14 @@ import android.view.ViewGroup
import android.view.inputmethod.EditorInfo import android.view.inputmethod.EditorInfo
import android.view.inputmethod.InputMethodManager import android.view.inputmethod.InputMethodManager
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.content.res.AppCompatResources
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.HORIZONTAL import androidx.recyclerview.widget.RecyclerView.HORIZONTAL
import ani.dantotsu.App.Companion.context
import ani.dantotsu.R
import ani.dantotsu.connections.anilist.Anilist import ani.dantotsu.connections.anilist.Anilist
import ani.dantotsu.currContext
import ani.dantotsu.databinding.ItemChipBinding import ani.dantotsu.databinding.ItemChipBinding
import ani.dantotsu.databinding.ItemSearchHeaderBinding import ani.dantotsu.databinding.ItemSearchHeaderBinding
import ani.dantotsu.saveData import ani.dantotsu.saveData
@ -54,6 +60,14 @@ class SearchAdapter(private val activity: SearchActivity) :
} }
binding.searchBar.hint = activity.result.type binding.searchBar.hint = activity.result.type
if (currContext()?.getSharedPreferences("Dantotsu", Context.MODE_PRIVATE)
?.getBoolean("incognito", false ) == true){
val startIconDrawableRes = R.drawable.ic_incognito_24
val startIconDrawable: Drawable? =
context?.let { AppCompatResources.getDrawable(it, startIconDrawableRes) }
binding.searchBar.startIconDrawable = startIconDrawable
}
var adult = activity.result.isAdult var adult = activity.result.isAdult
var listOnly = activity.result.onList var listOnly = activity.result.onList

View file

@ -276,6 +276,26 @@
tools:srcCompat="@tools:sample/backgrounds/scenic[2]" /> tools:srcCompat="@tools:sample/backgrounds/scenic[2]" />
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:id="@+id/incognito"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="start"
android:layout_margin="16dp"
android:translationZ="7dp"
app:cardBackgroundColor="@color/nav_bg"
app:cardCornerRadius="16dp">
<androidx.constraintlayout.utils.widget.ImageFilterView
android:id="@+id/incognitoImage"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center"
app:tint="@color/incognito"
android:src="@drawable/ic_incognito_24"
tools:ignore="ContentDescription" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:id="@+id/mediaClose" android:id="@+id/mediaClose"
android:layout_width="32dp" android:layout_width="32dp"

View file

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/bg" android:id="@+id/bg"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -27,22 +28,25 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<TextView <androidx.cardview.widget.CardView
android:id="@+id/incognitoTextView" android:id="@+id/incognito"
android:background="@drawable/rounded_top_incognito" android:layout_width="38dp"
android:layout_width="wrap_content" android:layout_height="38dp"
android:layout_height="wrap_content" android:layout_gravity="center"
android:layout_gravity="bottom|center_horizontal" android:layout_margin="16dp"
android:fontFamily="@font/poppins_bold" android:translationZ="7dp"
android:textAlignment="center" app:cardBackgroundColor="@color/bg_opp"
android:paddingStart="10dp" app:cardCornerRadius="16dp">
android:paddingEnd="10dp"
android:paddingTop="2dp" <androidx.constraintlayout.utils.widget.ImageFilterView
android:paddingBottom="2dp" android:id="@+id/incognitoImage"
android:text="Incognito Mode" android:layout_width="30dp"
android:textColor="?attr/colorOnError" android:layout_height="30dp"
android:textSize="15sp" android:layout_gravity="center"
android:visibility="gone" /> app:tint="@color/bg"
android:src="@drawable/ic_incognito_24"
tools:ignore="ContentDescription" />
</androidx.cardview.widget.CardView>
<FrameLayout <FrameLayout
android:id="@+id/fragmentContainer" android:id="@+id/fragmentContainer"

View file

@ -254,6 +254,27 @@
app:itemTextColor="@color/tab_layout_icon" app:itemTextColor="@color/tab_layout_icon"
app:layout_behavior="com.google.android.material.behavior.HideBottomViewOnScrollBehavior" /> app:layout_behavior="com.google.android.material.behavior.HideBottomViewOnScrollBehavior" />
<androidx.cardview.widget.CardView
android:id="@+id/incognito"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="start"
android:layout_margin="16dp"
android:translationZ="7dp"
android:visibility="gone"
app:cardBackgroundColor="@color/bg_opp"
app:cardCornerRadius="16dp">
<androidx.constraintlayout.utils.widget.ImageFilterView
android:id="@+id/incognitoImage"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center"
app:tint="@color/bg"
android:src="@drawable/ic_incognito_24"
tools:ignore="ContentDescription" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:id="@+id/mediaClose" android:id="@+id/mediaClose"
android:layout_width="32dp" android:layout_width="32dp"