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