diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3a72b824..fc0721be 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -114,6 +114,16 @@
android:name=".profile.FollowActivity"
android:windowSoftInputMode="adjustResize|stateHidden"
android:parentActivityName=".MainActivity" />
+
+
+
+
@@ -221,10 +231,7 @@
-
-
+
(R.id.imageButton)
-
- navBar = binding.inboxNavBar
- navBar.updateLayoutParams { bottomMargin = navBarHeight }
-
- val activityTab = navBar.createTab(R.drawable.inbox_filled, "Activity")
- val notificationTab =
- navBar.createTab(R.drawable.ic_round_notifications_active_24, "Notification")
- navBar.addTab(activityTab)
- navBar.addTab(notificationTab)
-
- navBar.visibility = View.GONE
-
- navBar.setOnTabSelectListener(object : AnimatedBottomBar.OnTabSelectListener {
- override fun onTabSelected(
- lastIndex: Int,
- lastTab: AnimatedBottomBar.Tab?,
- newIndex: Int,
- newTab: AnimatedBottomBar.Tab
- ) {
- selected = newIndex
-
- val fragmentTransaction = supportFragmentManager.beginTransaction()
- when (newIndex) {
- 0 -> fragmentTransaction.replace(R.id.container, FeedFragment())
- 1 -> fragmentTransaction.replace(R.id.container, NotifsFragment())
- }
- fragmentTransaction.commit()
- }
- })
-
- navBar.selectTabAt(selected)
- navBar.visibility = View.VISIBLE
- }
- }
diff --git a/app/src/main/java/ani/dantotsu/inbox/NotifsFragment.kt b/app/src/main/java/ani/dantotsu/inbox/NotifsFragment.kt
deleted file mode 100644
index d6e256c9..00000000
--- a/app/src/main/java/ani/dantotsu/inbox/NotifsFragment.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package ani.dantotsu.inbox
-
-import androidx.fragment.app.Fragment
-import ani.dantotsu.R
-
-class NotifsFragment : Fragment(R.layout.fragment_notifs) {
- // testing rn
-}
\ No newline at end of file
diff --git a/app/src/main/java/ani/dantotsu/notifications/NotificationActivity.kt b/app/src/main/java/ani/dantotsu/notifications/NotificationActivity.kt
new file mode 100644
index 00000000..da536d5f
--- /dev/null
+++ b/app/src/main/java/ani/dantotsu/notifications/NotificationActivity.kt
@@ -0,0 +1,47 @@
+package ani.dantotsu.notifications
+
+import android.os.Bundle
+import android.view.ViewGroup
+import android.view.Window
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.content.ContextCompat
+import androidx.core.view.updateLayoutParams
+import ani.dantotsu.R
+import ani.dantotsu.databinding.ActivityNotificationBinding
+import ani.dantotsu.initActivity
+import ani.dantotsu.settings.saving.PrefManager
+import ani.dantotsu.settings.saving.PrefName
+import ani.dantotsu.statusBarHeight
+import ani.dantotsu.themes.ThemeManager
+
+class NotificationActivity : AppCompatActivity() {
+ private lateinit var binding: ActivityNotificationBinding
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ val immersiveMode = PrefManager.getVal(PrefName.ImmersiveMode)
+ if (immersiveMode) {
+ requestWindowFeature(Window.FEATURE_NO_TITLE)
+ }
+ super.onCreate(savedInstanceState)
+ ThemeManager(this).applyTheme()
+ initActivity(this)
+ binding = ActivityNotificationBinding.inflate(layoutInflater)
+ if (!immersiveMode) {
+ this.window.statusBarColor =
+ ContextCompat.getColor(this, R.color.nav_bg_inv)
+ binding.root.fitsSystemWindows = true
+
+ } else {
+ binding.root.fitsSystemWindows = false
+ window.setFlags(
+ WindowManager.LayoutParams.FLAG_FULLSCREEN,
+ WindowManager.LayoutParams.FLAG_FULLSCREEN
+ )
+ binding.listTitle.updateLayoutParams {
+ topMargin = statusBarHeight
+ }
+ }
+ setContentView(binding.root)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ani/dantotsu/profile/ActivityActivity.kt b/app/src/main/java/ani/dantotsu/profile/ActivityActivity.kt
new file mode 100644
index 00000000..30b2f685
--- /dev/null
+++ b/app/src/main/java/ani/dantotsu/profile/ActivityActivity.kt
@@ -0,0 +1,48 @@
+package ani.dantotsu.profile
+
+import android.os.Bundle
+import android.view.ViewGroup
+import android.view.Window
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.content.ContextCompat
+import androidx.core.view.updateLayoutParams
+import ani.dantotsu.R
+import ani.dantotsu.databinding.ActivityActivityBinding
+import ani.dantotsu.initActivity
+import ani.dantotsu.settings.saving.PrefManager
+import ani.dantotsu.settings.saving.PrefName
+import ani.dantotsu.statusBarHeight
+import ani.dantotsu.themes.ThemeManager
+
+
+class ActivityActivity : AppCompatActivity() {
+ private lateinit var binding: ActivityActivityBinding
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ val immersiveMode = PrefManager.getVal(PrefName.ImmersiveMode)
+ if (immersiveMode) {
+ requestWindowFeature(Window.FEATURE_NO_TITLE)
+ }
+ super.onCreate(savedInstanceState)
+ ThemeManager(this).applyTheme()
+ initActivity(this)
+ binding = ActivityActivityBinding.inflate(layoutInflater)
+ if (!immersiveMode) {
+ this.window.statusBarColor =
+ ContextCompat.getColor(this, R.color.nav_bg_inv)
+ binding.root.fitsSystemWindows = true
+
+ } else {
+ binding.root.fitsSystemWindows = false
+ window.setFlags(
+ WindowManager.LayoutParams.FLAG_FULLSCREEN,
+ WindowManager.LayoutParams.FLAG_FULLSCREEN
+ )
+ binding.listTitle.updateLayoutParams {
+ topMargin = statusBarHeight
+ }
+ }
+ setContentView(binding.root)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ani/dantotsu/profile/ProfileActivity.kt b/app/src/main/java/ani/dantotsu/profile/ProfileActivity.kt
index 9006afcd..a7afa0f5 100644
--- a/app/src/main/java/ani/dantotsu/profile/ProfileActivity.kt
+++ b/app/src/main/java/ani/dantotsu/profile/ProfileActivity.kt
@@ -105,7 +105,15 @@ class ProfileActivity : AppCompatActivity() {
}
binding.profileProgressBar.visibility = View.GONE
binding.profileTopContainer.visibility = View.VISIBLE
-
+ binding.profileActivityButton.setOnClickListener {
+ ContextCompat.startActivity(
+ this@ProfileActivity,
+ Intent(this@ProfileActivity, ActivityActivity::class.java)
+ .putExtra("userId", user.id)
+ .putExtra("username", user.name),
+ null
+ )
+ }
binding.profileMenuButton.setOnClickListener {
val popup = PopupMenu(this@ProfileActivity, binding.profileMenuButton)
popup.menuInflater.inflate(R.menu.menu_profile, popup.menu)
@@ -151,9 +159,8 @@ class ProfileActivity : AppCompatActivity() {
binding.profileBannerImage.loadImage(user.bannerImage)
binding.profileBannerImage.updateLayoutParams { height += statusBarHeight }
binding.profileBannerGradient.updateLayoutParams { height += statusBarHeight }
- binding.profileMenuButton.updateLayoutParams {
- topMargin += statusBarHeight
- }
+ binding.profileMenuButton.updateLayoutParams { topMargin += statusBarHeight }
+ binding.profileActivityButton.updateLayoutParams { topMargin += statusBarHeight }
binding.profileBannerImage.setOnLongClickListener {
ImageViewDialog.newInstance(
this@ProfileActivity,
diff --git a/app/src/main/java/ani/dantotsu/settings/SettingsDialogFragment.kt b/app/src/main/java/ani/dantotsu/settings/SettingsDialogFragment.kt
index dfbe5be6..5692e047 100644
--- a/app/src/main/java/ani/dantotsu/settings/SettingsDialogFragment.kt
+++ b/app/src/main/java/ani/dantotsu/settings/SettingsDialogFragment.kt
@@ -13,7 +13,6 @@ import ani.dantotsu.MainActivity
import ani.dantotsu.profile.ProfileActivity
import ani.dantotsu.R
import ani.dantotsu.connections.anilist.Anilist
-import ani.dantotsu.currContext
import ani.dantotsu.databinding.BottomSheetSettingsBinding
import ani.dantotsu.download.anime.OfflineAnimeFragment
import ani.dantotsu.download.manga.OfflineMangaFragment
@@ -24,6 +23,7 @@ import ani.dantotsu.home.MangaFragment
import ani.dantotsu.home.NoInternet
import ani.dantotsu.incognitoNotification
import ani.dantotsu.loadImage
+import ani.dantotsu.notifications.NotificationActivity
import ani.dantotsu.offline.OfflineFragment
import ani.dantotsu.openLinkInBrowser
import ani.dantotsu.others.imagesearch.ImageSearchActivity
@@ -81,7 +81,7 @@ class SettingsDialogFragment : BottomSheetDialogFragment() {
}
binding.settingsUserAvatar.setOnClickListener{
ContextCompat.startActivity(
- currContext()!!, Intent(currContext()!!, ProfileActivity::class.java)
+ requireContext(), Intent(requireContext(), ProfileActivity::class.java)
.putExtra("userId", Anilist.userid), null
)
}
@@ -104,7 +104,10 @@ class SettingsDialogFragment : BottomSheetDialogFragment() {
openLinkInBrowser("https://anilist.co/settings/lists")
dismiss()
}
-
+ binding.settingsNotification.setOnClickListener {
+ startActivity(Intent(activity, NotificationActivity::class.java))
+ dismiss()
+ }
binding.settingsDownloads.isChecked = PrefManager.getVal(PrefName.OfflineMode)
binding.settingsDownloads.setOnCheckedChangeListener { _, isChecked ->
Timer().schedule(300) {
diff --git a/app/src/main/res/layout/activity_activity.xml b/app/src/main/res/layout/activity_activity.xml
new file mode 100644
index 00000000..584c5588
--- /dev/null
+++ b/app/src/main/res/layout/activity_activity.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_follow.xml b/app/src/main/res/layout/activity_follow.xml
index 7cd44c3f..60df0bc2 100644
--- a/app/src/main/res/layout/activity_follow.xml
+++ b/app/src/main/res/layout/activity_follow.xml
@@ -33,11 +33,11 @@
android:id="@+id/listTitle"
android:layout_width="wrap_content"
android:layout_height="48dp"
- android:layout_marginStart="44dp"
android:layout_gravity="center_vertical"
- android:gravity="center|start"
+ android:layout_marginStart="44dp"
android:ellipsize="end"
android:fontFamily="@font/poppins_bold"
+ android:gravity="center|start"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.Widget.AppCompat.Toolbar.Title"
android:textColor="?attr/colorOnBackground"
@@ -87,12 +87,11 @@
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_inbox.xml b/app/src/main/res/layout/activity_inbox.xml
deleted file mode 100644
index 1677b0d3..00000000
--- a/app/src/main/res/layout/activity_inbox.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/activity_notification.xml b/app/src/main/res/layout/activity_notification.xml
new file mode 100644
index 00000000..7383dbd7
--- /dev/null
+++ b/app/src/main/res/layout/activity_notification.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_profile.xml b/app/src/main/res/layout/activity_profile.xml
index 021128d1..c91792c8 100644
--- a/app/src/main/res/layout/activity_profile.xml
+++ b/app/src/main/res/layout/activity_profile.xml
@@ -58,8 +58,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|bottom"
- android:orientation="vertical"
- tools:visibility="visible">
+ android:orientation="vertical">
+ app:strokeColor="?attr/colorOnSecondary"
+ tools:ignore="HardcodedText,SpeakableTextPresentCheck" />
-
-
+ android:orientation="horizontal">
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_follower.xml b/app/src/main/res/layout/item_follower.xml
index 3c56e72f..68b354c8 100644
--- a/app/src/main/res/layout/item_follower.xml
+++ b/app/src/main/res/layout/item_follower.xml
@@ -1,18 +1,19 @@
+
+ app:cardCornerRadius="16dp">
+
+ tools:ignore="ContentDescription,ImageContrastCheck"
+ tools:tint="@color/transparent" />
diff --git a/app/src/main/res/layout/item_notification.xml b/app/src/main/res/layout/item_notification.xml
new file mode 100644
index 00000000..c0ffdc79
--- /dev/null
+++ b/app/src/main/res/layout/item_notification.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file