diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index eb419b56..8363ca25 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -13,11 +13,11 @@ jobs: uses: actions/checkout@v3 with: submodules: recursive - - name: set up JDK 11 + - name: set up JDK 17 uses: actions/setup-java@v3.10.0 with: distribution: 'zulu' - java-version: '11' + java-version: '17' - name: Restore Cache uses: actions/cache@v3.2.6 with: diff --git a/app/build.gradle b/app/build.gradle index 805094cc..ceec57bc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,6 +10,8 @@ editorconfig { } android { + namespace 'ws.xsoh.etar' + testNamespace 'com.android.calendar.tests' compileSdk 33 defaultConfig { @@ -94,15 +96,15 @@ android { dependencies { // Core - implementation 'androidx.core:core-ktx:1.8.0' + implementation 'androidx.core:core-ktx:1.10.0' implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs') implementation 'androidx.preference:preference:1.1.1' - implementation 'androidx.appcompat:appcompat:1.4.1' - implementation 'androidx.constraintlayout:constraintlayout:2.1.3' - implementation 'com.google.android.material:material:1.5.0' + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' + implementation 'com.google.android.material:material:1.8.0' testImplementation 'junit:junit:4.13.2' - coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.8' + coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3' // Coroutines def coroutines_version = "1.6.0" diff --git a/app/src/main/java/com/android/calendar/settings/GeneralPreferences.kt b/app/src/main/java/com/android/calendar/settings/GeneralPreferences.kt index c5d9b03d..5f7e9165 100644 --- a/app/src/main/java/com/android/calendar/settings/GeneralPreferences.kt +++ b/app/src/main/java/com/android/calendar/settings/GeneralPreferences.kt @@ -231,7 +231,7 @@ class GeneralPreferences : PreferenceFragmentCompat(), override fun onStart() { super.onStart() - preferenceScreen.sharedPreferences.registerOnSharedPreferenceChangeListener(this) + preferenceScreen.sharedPreferences?.registerOnSharedPreferenceChangeListener(this) setPreferenceListeners(this) } @@ -258,7 +258,7 @@ class GeneralPreferences : PreferenceFragmentCompat(), } override fun onStop() { - preferenceScreen.sharedPreferences.unregisterOnSharedPreferenceChangeListener(this) + preferenceScreen.sharedPreferences?.unregisterOnSharedPreferenceChangeListener(this) super.onStop() } @@ -403,7 +403,7 @@ class GeneralPreferences : PreferenceFragmentCompat(), defaultReminderPref.entries = entries } - override fun onPreferenceTreeClick(preference: Preference?): Boolean { + override fun onPreferenceTreeClick(preference: Preference): Boolean { when (preference!!.key) { KEY_COLOR_PREF -> { showColorPickerDialog() diff --git a/app/src/main/java/com/android/calendar/settings/MainListPreferences.kt b/app/src/main/java/com/android/calendar/settings/MainListPreferences.kt index 2e8d05dc..eacc79f3 100644 --- a/app/src/main/java/com/android/calendar/settings/MainListPreferences.kt +++ b/app/src/main/java/com/android/calendar/settings/MainListPreferences.kt @@ -75,7 +75,7 @@ class MainListPreferences : PreferenceFragmentCompat() { val accountCategoryUniqueKey = "account_category_${calendar.accountName}_${calendar.accountType}" var accountCategory = screen.findPreference(accountCategoryUniqueKey) if (accountCategory == null) { - accountCategory = PreferenceCategory(context).apply { + accountCategory = PreferenceCategory(requireContext()).apply { key = accountCategoryUniqueKey title = calendar.accountName icon = ContextCompat.getDrawable(requireContext(), R.drawable.ic_account_circle) @@ -89,7 +89,7 @@ class MainListPreferences : PreferenceFragmentCompat() { val calendarUniqueKey = "calendar_preference_${calendar.id}" var calendarPreference = screen.findPreference(calendarUniqueKey) if (calendarPreference == null) { - calendarPreference = Preference(context) + calendarPreference = Preference(requireContext()) accountCategory.addPreference(calendarPreference) } calendarPreference.apply { @@ -152,12 +152,12 @@ class MainListPreferences : PreferenceFragmentCompat() { } private fun addGeneralPreferences(screen: PreferenceScreen) { - val generalPreference = Preference(context).apply { + val generalPreference = Preference(requireContext()).apply { title = getString(R.string.preferences_list_general) icon = ContextCompat.getDrawable(requireContext(), R.drawable.ic_settings) fragment = GeneralPreferences::class.java.name } - val addCaldavPreference = Preference(context).apply { + val addCaldavPreference = Preference(requireContext()).apply { title = getString(R.string.preferences_list_add_remote) icon = ContextCompat.getDrawable(requireContext(), R.drawable.ic_add) } @@ -165,7 +165,7 @@ class MainListPreferences : PreferenceFragmentCompat() { launchDavX5Login() true } - val addEtesyncPreference = Preference(context).apply { + val addEtesyncPreference = Preference(requireContext()).apply { title = getString(R.string.preferences_list_add_remote_etesync) icon = ContextCompat.getDrawable(requireContext(), R.drawable.ic_add) } @@ -173,7 +173,7 @@ class MainListPreferences : PreferenceFragmentCompat() { launchAddEtesync() true } - val addOfflinePreference = Preference(context).apply { + val addOfflinePreference = Preference(requireContext()).apply { title = getString(R.string.preferences_list_add_offline) icon = ContextCompat.getDrawable(requireContext(), R.drawable.ic_add) } diff --git a/app/src/main/java/com/android/calendar/settings/QuickResponsePreferences.kt b/app/src/main/java/com/android/calendar/settings/QuickResponsePreferences.kt index 312f85c9..6e167d78 100644 --- a/app/src/main/java/com/android/calendar/settings/QuickResponsePreferences.kt +++ b/app/src/main/java/com/android/calendar/settings/QuickResponsePreferences.kt @@ -53,7 +53,7 @@ class QuickResponsePreferences : PreferenceFragmentCompat(), Preference.OnPrefer responsePreferences = arrayOfNulls(responses.size) for ((i, response) in responses.withIndex()) { - val responsePreference = EditTextPreference(activity).apply { + val responsePreference = EditTextPreference(requireActivity()).apply { setDialogTitle(R.string.quick_response_settings_edit_title) title = response text = response diff --git a/app/src/main/java/com/android/calendar/settings/SettingsActivity.kt b/app/src/main/java/com/android/calendar/settings/SettingsActivity.kt index 6ec224f1..8f430820 100644 --- a/app/src/main/java/com/android/calendar/settings/SettingsActivity.kt +++ b/app/src/main/java/com/android/calendar/settings/SettingsActivity.kt @@ -81,7 +81,7 @@ class SettingsActivity : AppCompatActivity(), val args = pref.extras val fragment = supportFragmentManager.fragmentFactory.instantiate( classLoader, - pref.fragment + pref.fragment!! ).apply { arguments = args setTargetFragment(caller, 0) diff --git a/app/src/main/java/com/android/calendar/settings/ViewDetailsPreferences.kt b/app/src/main/java/com/android/calendar/settings/ViewDetailsPreferences.kt index aa286823..4b57fec5 100644 --- a/app/src/main/java/com/android/calendar/settings/ViewDetailsPreferences.kt +++ b/app/src/main/java/com/android/calendar/settings/ViewDetailsPreferences.kt @@ -77,7 +77,7 @@ class ViewDetailsPreferences : PreferenceFragmentCompat() { val newEntries = Arrays.copyOf(entries, entries.size - 1) displayTime.entries = newEntries } - if (displayTime.entry == null || displayTime.entry.isEmpty()) { + if (displayTime.entry == null || displayTime.entry!!.isEmpty()) { displayTime.value = getDefaultTimeToShow(activity).toString() } } @@ -173,7 +173,7 @@ class ViewDetailsPreferences : PreferenceFragmentCompat() { return Preferences(context!!) } - fun setDefaultValues(context: Context?) { + fun setDefaultValues(context: Context) { PreferenceManager.setDefaultValues(context, SHARED_PREFS_NAME, Context.MODE_PRIVATE, R.xml.view_details_preferences, true) } diff --git a/build.gradle b/build.gradle index 6661e9dd..956b26fd 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ plugins { - id 'com.android.application' version '7.2.1' apply false - id 'com.android.library' version '7.2.1' apply false - id 'org.jetbrains.kotlin.android' version '1.7.0' apply false + id 'com.android.application' version '8.0.0' apply false + id 'com.android.library' version '8.0.0' apply false + id 'org.jetbrains.kotlin.android' version '1.8.0' apply false id 'org.ec4j.editorconfig' version "0.0.3" apply false id "org.jetbrains.gradle.plugin.idea-ext" version "1.1.5" apply true } diff --git a/external/calendar b/external/calendar index d47bcc32..04fe66e2 160000 --- a/external/calendar +++ b/external/calendar @@ -1 +1 @@ -Subproject commit d47bcc32e0ed9b6378cebcfe531ee9a8fdcc8a21 +Subproject commit 04fe66e252f9c6cf569dfb462004dd99d6e68b00 diff --git a/external/chips b/external/chips index 397a829e..ad59fc7c 160000 --- a/external/chips +++ b/external/chips @@ -1 +1 @@ -Subproject commit 397a829ece6de4f801a7f7fd0d3e7839e5f3fea0 +Subproject commit ad59fc7c1fb3bb6952fb55efdbc31396b7f28248 diff --git a/external/colorpicker b/external/colorpicker index b9ffe228..c57cf97b 160000 --- a/external/colorpicker +++ b/external/colorpicker @@ -1 +1 @@ -Subproject commit b9ffe228e641a23e97d4b23acbb2c9c4fce3efe4 +Subproject commit c57cf97b1a0e0526a80513c56ed74af59bdc1974 diff --git a/external/configuration/common.gradle b/external/configuration/common.gradle index be83e3e2..3799e5a7 100644 --- a/external/configuration/common.gradle +++ b/external/configuration/common.gradle @@ -1,11 +1,16 @@ apply plugin: 'com.android.library' android { - compileSdk 31 + compileSdk 33 defaultConfig { minSdk 21 - targetSdk 31 + targetSdk 33 + } + + buildFeatures { + renderScript true + aidl true } sourceSets { diff --git a/external/timezonepicker b/external/timezonepicker index bad57781..1fcb55e7 160000 --- a/external/timezonepicker +++ b/external/timezonepicker @@ -1 +1 @@ -Subproject commit bad577815fb03f1d4ec1276e6a5250bbbffb9e8e +Subproject commit 1fcb55e77be051a1cf6c5ba8ac1a95e884a98eb8 diff --git a/gradle.properties b/gradle.properties index 342a08a0..801fd4ba 100755 --- a/gradle.properties +++ b/gradle.properties @@ -23,3 +23,5 @@ kotlin.code.style=official # resources declared in the library itself and none from the library's dependencies, # thereby reducing the size of the R class for that library android.nonTransitiveRClass=false +android.defaults.buildfeatures.buildconfig=true +android.nonFinalResIds=false diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 252a4996..c75b06a9 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Tue Nov 16 03:59:46 GMT 2021 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME