diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index eb348cee..10b9d311 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -25,3 +25,9 @@ public static <1> INSTANCE; kotlinx.serialization.KSerializer serializer(...); } + +# Needed for using TypeToken with Gson +# Taken from: https://r8.googlesource.com/r8/+/refs/heads/main/compatibility-faq.md#troubleshooting-gson-gson +-keepattributes Signature +-keep class com.google.gson.reflect.TypeToken { *; } +-keep class * extends com.google.gson.reflect.TypeToken diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt index 51729368..abee5f8d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt @@ -27,6 +27,7 @@ import android.webkit.WebViewClient import android.widget.ImageView import android.widget.TextView import android.widget.Toast +import androidx.viewpager.widget.ViewPager import com.simplemobiletools.commons.dialogs.* import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.* @@ -80,12 +81,11 @@ class MainActivity : SimpleActivity() { private lateinit var searchNextBtn: ImageView private lateinit var searchClearBtn: ImageView - private lateinit var binding: ActivityMainBinding + private val binding: ActivityMainBinding by viewBinding(ActivityMainBinding::inflate) override fun onCreate(savedInstanceState: Bundle?) { isMaterialActivity = true super.onCreate(savedInstanceState) - binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) appLaunched(BuildConfig.APPLICATION_ID) setupOptionsMenu() @@ -103,6 +103,7 @@ class MainActivity : SimpleActivity() { binding.pagerTabStrip.setTextSize(TypedValue.COMPLEX_UNIT_PX, getPercentageFontSize()) binding.pagerTabStrip.layoutParams.height = (binding.pagerTabStrip.height + resources.getDimension(com.simplemobiletools.commons.R.dimen.activity_margin) * 2 * (config.fontSizePercentage / 100f)).toInt() + (binding.pagerTabStrip.layoutParams as ViewPager.LayoutParams).isDecor = true checkWhatsNewDialog() checkIntents(intent) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt index a88d955e..cfcf90b6 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt @@ -27,12 +27,11 @@ import kotlin.system.exitProcess class SettingsActivity : SimpleActivity() { private val notesFileType = "application/json" - private lateinit var binding: ActivitySettingsBinding + private val binding: ActivitySettingsBinding by viewBinding(ActivitySettingsBinding::inflate) override fun onCreate(savedInstanceState: Bundle?) { isMaterialActivity = true super.onCreate(savedInstanceState) - binding = ActivitySettingsBinding.inflate(layoutInflater) setContentView(binding.root) updateMaterialActivityViews(binding.settingsCoordinator, binding.settingsHolder, useTransparentNavigation = true, useTopSearchMenu = false) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/WidgetConfigureActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/WidgetConfigureActivity.kt index 75fa58f2..6bb767ee 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/WidgetConfigureActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/WidgetConfigureActivity.kt @@ -41,13 +41,12 @@ class WidgetConfigureActivity : SimpleActivity() { private var mIsCustomizingColors = false private var mShowTitle = false private var mNotes = listOf() - private lateinit var binding: WidgetConfigBinding + private val binding: WidgetConfigBinding by viewBinding(WidgetConfigBinding::inflate) public override fun onCreate(savedInstanceState: Bundle?) { useDynamicTheme = false super.onCreate(savedInstanceState) setResult(RESULT_CANCELED) - binding = WidgetConfigBinding.inflate(layoutInflater) setContentView(binding.root) initVariables() diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt index 8c05a01a..1d0e83cf 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt @@ -28,7 +28,7 @@ class ChecklistFragment : NoteFragment(), ChecklistItemsListener { private var noteId = 0L - lateinit var binding: FragmentChecklistBinding + private lateinit var binding: FragmentChecklistBinding var items = mutableListOf()