diff --git a/app/src/main/java/ani/dantotsu/connections/UpdateProgress.kt b/app/src/main/java/ani/dantotsu/connections/UpdateProgress.kt index d66f6061..f7084645 100644 --- a/app/src/main/java/ani/dantotsu/connections/UpdateProgress.kt +++ b/app/src/main/java/ani/dantotsu/connections/UpdateProgress.kt @@ -13,27 +13,33 @@ import kotlinx.coroutines.launch import kotlin.math.roundToInt fun updateProgress(media: Media, number: String) { - if (Anilist.userid != null) { - CoroutineScope(Dispatchers.IO).launch { - val a = number.toFloatOrNull()?.toInt() - if ((a ?: 0) > (media.userProgress ?: 0)) { - Anilist.mutation.editList( - media.id, - a, - status = if (media.userStatus == "REPEATING") media.userStatus else "CURRENT" - ) - MAL.query.editList( - media.idMAL, - media.anime != null, - a, null, - if (media.userStatus == "REPEATING") media.userStatus!! else "CURRENT" - ) - toast(currContext()?.getString(R.string.setting_progress, a)) + val incognito = currContext()?.getSharedPreferences("Dantotsu", 0) + ?.getBoolean("incognito", false) ?: false + if (!incognito) { + if (Anilist.userid != null) { + CoroutineScope(Dispatchers.IO).launch { + val a = number.toFloatOrNull()?.toInt() + if ((a ?: 0) > (media.userProgress ?: 0)) { + Anilist.mutation.editList( + media.id, + a, + status = if (media.userStatus == "REPEATING") media.userStatus else "CURRENT" + ) + MAL.query.editList( + media.idMAL, + media.anime != null, + a, null, + if (media.userStatus == "REPEATING") media.userStatus!! else "CURRENT" + ) + toast(currContext()?.getString(R.string.setting_progress, a)) + } + media.userProgress = a + Refresh.all() } - media.userProgress = a - Refresh.all() + } else { + toast(currContext()?.getString(R.string.login_anilist_account)) } } else { - toast(currContext()?.getString(R.string.login_anilist_account)) + toast("Sneaky sneaky :3") } } \ No newline at end of file diff --git a/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt b/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt index 88cf276e..15af0009 100644 --- a/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt +++ b/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt @@ -998,7 +998,9 @@ class ExoplayerView : AppCompatActivity(), Player.Listener { preloading = false val context = this - if (isOnline(context) && Discord.token != null) { + val incognito = this.getSharedPreferences("Dantotsu", MODE_PRIVATE) + .getBoolean("incognito", false) + if (isOnline(context) && Discord.token != null && !incognito) { lifecycleScope.launch { val presence = RPC.createPresence(RPC.Companion.RPCData( applicationId = Discord.application_Id, @@ -1158,6 +1160,7 @@ class ExoplayerView : AppCompatActivity(), Player.Listener { if (showProgressDialog && Anilist.userid != null && if (media.isAdult) settings.updateForH else true) AlertDialog.Builder(this, R.style.MyPopup) .setTitle(getString(R.string.auto_update, media.userPreferredName)) + .setMessage(getString(R.string.incognito_will_not_update)) .apply { setOnCancelListener { hideSystemBars() } setCancelable(false) diff --git a/app/src/main/java/ani/dantotsu/media/manga/mangareader/MangaReaderActivity.kt b/app/src/main/java/ani/dantotsu/media/manga/mangareader/MangaReaderActivity.kt index 5040f08c..d463002b 100644 --- a/app/src/main/java/ani/dantotsu/media/manga/mangareader/MangaReaderActivity.kt +++ b/app/src/main/java/ani/dantotsu/media/manga/mangareader/MangaReaderActivity.kt @@ -12,6 +12,7 @@ import android.view.* import android.view.KeyEvent.* import android.view.animation.OvershootInterpolator import android.widget.AdapterView +import android.widget.CheckBox import androidx.activity.addCallback import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity @@ -253,20 +254,22 @@ class MangaReaderActivity : AppCompatActivity() { showProgressDialog = if (settings.askIndividual) loadData("${media.id}_progressDialog") != true else false progressDialog = - if (showProgressDialog && Anilist.userid != null && if (media.isAdult) settings.updateForH else true) + if (showProgressDialog && Anilist.userid != null && if (media.isAdult) settings.updateForH else true) { + val dialogView = layoutInflater.inflate(R.layout.item_custom_dialog, null) + val checkbox = dialogView.findViewById(R.id.dialog_checkbox) + checkbox.text = getString(R.string.dont_ask_again, media.userPreferredName) + checkbox.setOnCheckedChangeListener { _, isChecked -> + if (isChecked) progressDialog = null + saveData("${media.id}_progressDialog", isChecked) + showProgressDialog = isChecked + } AlertDialog.Builder(this, R.style.MyPopup) - .setTitle(getString(R.string.title_update_progress)).apply { - setMultiChoiceItems( - arrayOf(getString(R.string.dont_ask_again, media.userPreferredName)), - booleanArrayOf(false) - ) { _, _, isChecked -> - if (isChecked) progressDialog = null - saveData("${media.id}_progressDialog", isChecked) - showProgressDialog = isChecked - } + .setTitle(getString(R.string.title_update_progress)) + .setView(dialogView) + .apply { setOnCancelListener { hideBars() } } - else null + } else null //Chapter Change fun change(index: Int) { @@ -329,7 +332,9 @@ class MangaReaderActivity : AppCompatActivity() { chaptersTitleArr.getOrNull(currentChapterIndex - 1) ?: "" applySettings() val context = this - if (isOnline(context) && Discord.token != null) { + val incognito = context.getSharedPreferences("Dantotsu", 0) + ?.getBoolean("incognito", false) ?: false + if (isOnline(context) && Discord.token != null && !incognito) { lifecycleScope.launch { val presence = RPC.createPresence( RPC.Companion.RPCData( diff --git a/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt b/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt index e9293b64..ec7ce2e7 100644 --- a/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt +++ b/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt @@ -416,6 +416,16 @@ class SettingsActivity : AppCompatActivity() { uiTheme(true, it) } + binding.settingsIncognito.isChecked = + getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).getBoolean( + "incognito", + false + ) + binding.settingsIncognito.setOnCheckedChangeListener { _, isChecked -> + getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).edit() + .putBoolean("incognito", isChecked).apply() + } + var previousStart: View = when (uiSettings.defaultStartUpTab) { 0 -> binding.uiSettingsAnime 1 -> binding.uiSettingsHome diff --git a/app/src/main/res/drawable/ic_incognito_24.xml b/app/src/main/res/drawable/ic_incognito_24.xml new file mode 100644 index 00000000..752403ad --- /dev/null +++ b/app/src/main/res/drawable/ic_incognito_24.xml @@ -0,0 +1,6 @@ + + + diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index ff141915..9e4d5f51 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -573,6 +573,24 @@ app:drawableStartCompat="@drawable/ic_round_help_24" app:drawableTint="?attr/colorPrimary" /> + + diff --git a/app/src/main/res/layout/item_custom_dialog.xml b/app/src/main/res/layout/item_custom_dialog.xml new file mode 100644 index 00000000..60f5bfbd --- /dev/null +++ b/app/src/main/res/layout/item_custom_dialog.xml @@ -0,0 +1,25 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-en-rDW/strings.xml b/app/src/main/res/values-en-rDW/strings.xml index fdcbcc2f..e50ccd3a 100644 --- a/app/src/main/res/values-en-rDW/strings.xml +++ b/app/src/main/res/values-en-rDW/strings.xml @@ -493,6 +493,7 @@ Auto Update progress for %1$s? Continue from %1$s? Update progress on anilist? + Incognito mode will still ignore progress. "Don\'t ask again for %1$s" Default Speed Default Resize Mode @@ -628,9 +629,19 @@ Extensions NSFW Extensions Skip loading extension icons - Use Material You + Material You Extension-specific DNS Theme: User Agent + Custom Theme + Custom theme + Color same as Anime/Manga cover + OLED theme variant + Installed Anime + Available Anime + Installed Manga + Color Picker + Random Selection + Incognito Mode diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b91b25fb..e3e34eda 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -493,6 +493,7 @@ Auto Update progress for %1$s? Continue from %1$s? Update progress on anilist? + Incognito mode will still ignore progress. "Don\'t ask again for %1$s" Default Speed Default Resize Mode @@ -641,5 +642,6 @@ Installed Manga Color Picker Random Selection + Incognito Mode