diff --git a/app/build.gradle.kts b/app/build.gradle.kts index af85186b..7e18df59 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -10,14 +10,13 @@ plugins { } android { - compileSdkVersion(30) + compileSdkVersion(31) defaultConfig { applicationId = "com.jkuester.unlauncher" minSdkVersion(21) - targetSdkVersion(30) + targetSdkVersion(31) versionName = "2.0.0-beta.1" versionCode = 15 - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary = true } // signingConfigs { // if (project.extra.has("RELEASE_STORE_FILE")) { @@ -70,19 +69,19 @@ dependencies { implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar")))) // Kotlin Libraries - implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72") + implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.21") // Support Libraries - implementation("androidx.appcompat:appcompat:1.2.0") - implementation("androidx.recyclerview:recyclerview:1.1.0") - implementation("androidx.constraintlayout:constraintlayout:2.0.1") + implementation("androidx.appcompat:appcompat:1.3.1") + implementation("androidx.recyclerview:recyclerview:1.2.1") + implementation("androidx.constraintlayout:constraintlayout:2.1.0") implementation("androidx.datastore:datastore:1.0.0") implementation("androidx.datastore:datastore-core:1.0.0") implementation("com.google.protobuf:protobuf-javalite:3.10.0") // Arch Components - implementation("androidx.core:core-ktx:1.5.0-alpha03") - implementation("androidx.fragment:fragment-ktx:1.2.5") + implementation("androidx.core:core-ktx:1.7.0-beta01") + implementation("androidx.fragment:fragment-ktx:1.3.6") implementation("androidx.lifecycle:lifecycle-extensions:2.2.0") implementation("androidx.navigation:navigation-fragment-ktx:2.3.0") implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.3.1") @@ -93,10 +92,9 @@ dependencies { //3rd party libs implementation("com.intuit.sdp:sdp-android:1.0.6") implementation("com.intuit.ssp:ssp-android:1.0.6") - implementation("com.google.dagger:hilt-android:2.29-alpha") - implementation("androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha02") - kapt("androidx.hilt:hilt-compiler:1.0.0-alpha02") - kapt("com.google.dagger:hilt-android-compiler:2.29-alpha") + implementation("com.google.dagger:hilt-android:2.35") + kapt("androidx.hilt:hilt-compiler:1.0.0") + kapt("com.google.dagger:hilt-android-compiler:2.35") } protobuf { protoc { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 98056cc7..7b774e8d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -26,7 +26,8 @@ android:launchMode="singleTask" android:screenOrientation="portrait" android:stateNotNeeded="true" - tools:ignore="LockedOrientationActivity"> + tools:ignore="LockedOrientationActivity" + android:exported="true"> diff --git a/app/src/main/java/com/sduduzog/slimlauncher/MainActivity.kt b/app/src/main/java/com/sduduzog/slimlauncher/MainActivity.kt index 4f26718d..e9aee67e 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/MainActivity.kt +++ b/app/src/main/java/com/sduduzog/slimlauncher/MainActivity.kt @@ -14,10 +14,8 @@ import androidx.appcompat.app.AppCompatActivity import androidx.constraintlayout.motion.widget.MotionLayout import androidx.navigation.NavController import androidx.navigation.Navigation.findNavController -import com.sduduzog.slimlauncher.di.MainFragmentFactoryEntryPoint import com.sduduzog.slimlauncher.utils.* import dagger.hilt.android.AndroidEntryPoint -import dagger.hilt.android.EntryPointAccessors import java.lang.reflect.Method import kotlin.math.absoluteValue @@ -58,8 +56,6 @@ class MainActivity : AppCompatActivity(), } override fun onCreate(savedInstanceState: Bundle?) { - val entryPoint = EntryPointAccessors.fromActivity(this, MainFragmentFactoryEntryPoint::class.java) - supportFragmentManager.fragmentFactory = entryPoint.getMainFragmentFactory() super.onCreate(savedInstanceState) setContentView(R.layout.main_activity) settings = getSharedPreferences(getString(R.string.prefs_settings), MODE_PRIVATE) diff --git a/app/src/main/java/com/sduduzog/slimlauncher/data/BaseDatabase.kt b/app/src/main/java/com/sduduzog/slimlauncher/data/BaseDatabase.kt index 62212a5a..d7eb25b4 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/data/BaseDatabase.kt +++ b/app/src/main/java/com/sduduzog/slimlauncher/data/BaseDatabase.kt @@ -66,7 +66,7 @@ abstract class BaseDatabase : RoomDatabase() { val MIGRATION_7_8 = object : Migration(7, 8){ override fun migrate(database: SupportSQLiteDatabase) { val userSerial = Process.myUserHandle().hashCode() - database.execSQL("ALTER TABLE `home_apps` ADD COLUMN `user_serial` INTEGER NOT NULL DEFAULT " + userSerial.toString()) + database.execSQL("ALTER TABLE `home_apps` ADD COLUMN `user_serial` INTEGER NOT NULL DEFAULT $userSerial") database.execSQL("CREATE TABLE home_apps_copy(" + "package_name TEXT NOT NULL, " + diff --git a/app/src/main/java/com/sduduzog/slimlauncher/di/AppModule.kt b/app/src/main/java/com/sduduzog/slimlauncher/di/AppModule.kt index b5700235..dc7871ae 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/di/AppModule.kt +++ b/app/src/main/java/com/sduduzog/slimlauncher/di/AppModule.kt @@ -11,7 +11,7 @@ import dagger.hilt.components.SingletonComponent import javax.inject.Singleton @Module -@InstallIn(SingletonComponent::class) // TODO: wip +@InstallIn(SingletonComponent::class) class AppModule { @Provides @Singleton diff --git a/app/src/main/java/com/sduduzog/slimlauncher/di/MainFragmentFactory.kt b/app/src/main/java/com/sduduzog/slimlauncher/di/MainFragmentFactory.kt deleted file mode 100644 index 40e22526..00000000 --- a/app/src/main/java/com/sduduzog/slimlauncher/di/MainFragmentFactory.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.sduduzog.slimlauncher.di - -import androidx.fragment.app.Fragment -import androidx.fragment.app.FragmentFactory -import com.sduduzog.slimlauncher.models.MainViewModel -import com.sduduzog.slimlauncher.ui.main.HomeFragment -import javax.inject.Inject - -class MainFragmentFactory @Inject constructor(private val mainViewModel: MainViewModel): FragmentFactory() { - override fun instantiate(classLoader: ClassLoader, className: String): Fragment { - return when(loadFragmentClass(classLoader, className)) { - HomeFragment::class.java -> HomeFragment(mainViewModel) - else -> super.instantiate(classLoader, className) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/sduduzog/slimlauncher/di/MainFragmentFactoryEntryPoint.kt b/app/src/main/java/com/sduduzog/slimlauncher/di/MainFragmentFactoryEntryPoint.kt deleted file mode 100644 index 6e6a8d6e..00000000 --- a/app/src/main/java/com/sduduzog/slimlauncher/di/MainFragmentFactoryEntryPoint.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.sduduzog.slimlauncher.di - -import dagger.hilt.EntryPoint -import dagger.hilt.InstallIn -import dagger.hilt.android.components.ActivityComponent - -@EntryPoint -@InstallIn(ActivityComponent::class) -interface MainFragmentFactoryEntryPoint { - fun getMainFragmentFactory(): MainFragmentFactory -} \ No newline at end of file diff --git a/app/src/main/java/com/sduduzog/slimlauncher/di/RepositoryModule.kt b/app/src/main/java/com/sduduzog/slimlauncher/di/RepositoryModule.kt new file mode 100644 index 00000000..fb4d7486 --- /dev/null +++ b/app/src/main/java/com/sduduzog/slimlauncher/di/RepositoryModule.kt @@ -0,0 +1,19 @@ +package com.sduduzog.slimlauncher.di + +import com.sduduzog.slimlauncher.data.BaseDao +import com.sduduzog.slimlauncher.models.Repository +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.android.components.ViewModelComponent +import dagger.hilt.android.scopes.ViewModelScoped + +@Module +@InstallIn(ViewModelComponent::class) +class RepositoryModule { + @Provides + @ViewModelScoped + fun providesRepository(baseDao: BaseDao): Repository { + return Repository(baseDao) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/sduduzog/slimlauncher/models/AddAppViewModel.kt b/app/src/main/java/com/sduduzog/slimlauncher/models/AddAppViewModel.kt index c41a5a6e..2598de72 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/models/AddAppViewModel.kt +++ b/app/src/main/java/com/sduduzog/slimlauncher/models/AddAppViewModel.kt @@ -1,14 +1,19 @@ package com.sduduzog.slimlauncher.models -import androidx.hilt.lifecycle.ViewModelInject import androidx.lifecycle.MutableLiveData import androidx.lifecycle.Observer import androidx.lifecycle.ViewModel -import com.sduduzog.slimlauncher.data.BaseDao +import androidx.lifecycle.viewModelScope import com.sduduzog.slimlauncher.data.model.App - -class AddAppViewModel @ViewModelInject constructor (baseDao: BaseDao) : ViewModel() { - private val repository = Repository(baseDao) +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import javax.inject.Inject + +@HiltViewModel +class AddAppViewModel @Inject constructor( + private val repository: Repository +) : ViewModel() { private var filterQuery = "" private val regex = Regex("[!@#\$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>/? ]") private val _installedApps = mutableListOf() @@ -31,7 +36,9 @@ class AddAppViewModel @ViewModelInject constructor (baseDao: BaseDao) : ViewMode private fun updateDisplayedApps() { val filteredApps = _installedApps.filterNot { _homeApps.contains(it) } - this.apps.postValue(filteredApps.filter { regex.replace(it.appName, "").contains(filterQuery, ignoreCase = true) }) + this.apps.postValue(filteredApps.filter { + regex.replace(it.appName, "").contains(filterQuery, ignoreCase = true) + }) } fun setInstalledApps(apps: List) { @@ -42,7 +49,9 @@ class AddAppViewModel @ViewModelInject constructor (baseDao: BaseDao) : ViewMode fun addAppToHomeScreen(app: App) { val index = _homeApps.size - repository.add(HomeApp.from(app, index)) + viewModelScope.launch(Dispatchers.IO) { + repository.add(HomeApp.from(app, index)) + } } override fun onCleared() { diff --git a/app/src/main/java/com/sduduzog/slimlauncher/models/CustomiseAppsViewModel.kt b/app/src/main/java/com/sduduzog/slimlauncher/models/CustomiseAppsViewModel.kt index 0b1b7f5b..036a20ce 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/models/CustomiseAppsViewModel.kt +++ b/app/src/main/java/com/sduduzog/slimlauncher/models/CustomiseAppsViewModel.kt @@ -1,35 +1,43 @@ package com.sduduzog.slimlauncher.models -import androidx.hilt.lifecycle.ViewModelInject import androidx.lifecycle.LiveData import androidx.lifecycle.ViewModel -import com.sduduzog.slimlauncher.data.BaseDao +import androidx.lifecycle.viewModelScope +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import javax.inject.Inject -class CustomiseAppsViewModel @ViewModelInject constructor(baseDao: BaseDao) : ViewModel() { +@HiltViewModel +class CustomiseAppsViewModel @Inject constructor( + private val repository: Repository +) : ViewModel() { - private val repository = Repository(baseDao) - private var _apps: LiveData> - - init { - _apps = repository.apps - } + private var _apps: LiveData> = repository.apps val apps: LiveData> get() = _apps fun update(vararg args: HomeApp) { - repository.update(*args) + viewModelScope.launch(Dispatchers.IO) { + repository.update(*args) + } } fun reset(homeApp: HomeApp) { homeApp.appNickname = null update(homeApp) } + fun remove(app: HomeApp) { - repository.remove(app) + viewModelScope.launch(Dispatchers.IO) { + repository.remove(app) + } } - fun clearTable(){ - repository.clearTable() + fun clearTable() { + viewModelScope.launch(Dispatchers.IO) { + repository.clearTable() + } } } \ No newline at end of file diff --git a/app/src/main/java/com/sduduzog/slimlauncher/models/MainViewModel.kt b/app/src/main/java/com/sduduzog/slimlauncher/models/MainViewModel.kt index 8a4f5291..8476eb89 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/models/MainViewModel.kt +++ b/app/src/main/java/com/sduduzog/slimlauncher/models/MainViewModel.kt @@ -2,27 +2,16 @@ package com.sduduzog.slimlauncher.models import androidx.lifecycle.LiveData import androidx.lifecycle.ViewModel -import com.sduduzog.slimlauncher.data.BaseDao -import com.sduduzog.slimlauncher.data.model.App +import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject -class MainViewModel @Inject constructor(baseDao: BaseDao) : ViewModel() { +@HiltViewModel +class MainViewModel @Inject constructor( + _baseRepository: Repository +) : ViewModel() { - private val _baseRepository = Repository(baseDao) - - private var _apps: LiveData> - - init { - _apps = _baseRepository.apps - } + private var _apps: LiveData> = _baseRepository.apps val apps: LiveData> get() = _apps - - val addAppViewModel = AddAppViewModel(baseDao) - - fun add(app: App) { - val index = _apps.value!!.size - _baseRepository.add(HomeApp.from(app, index)) - } } \ No newline at end of file diff --git a/app/src/main/java/com/sduduzog/slimlauncher/models/Repository.kt b/app/src/main/java/com/sduduzog/slimlauncher/models/Repository.kt index 60f3dc95..7c600964 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/models/Repository.kt +++ b/app/src/main/java/com/sduduzog/slimlauncher/models/Repository.kt @@ -1,9 +1,7 @@ package com.sduduzog.slimlauncher.models -import android.os.AsyncTask import androidx.lifecycle.LiveData import com.sduduzog.slimlauncher.data.BaseDao -import javax.inject.Singleton class Repository(private val baseDao: BaseDao) { @@ -13,50 +11,18 @@ class Repository(private val baseDao: BaseDao) { get() = _apps fun add(app: HomeApp) { - AddAppAsyncTask(baseDao).execute(app) + baseDao.add(app) } fun update(vararg list : HomeApp) { - UpdateAppAsyncTask(baseDao).execute(*list) + baseDao.update(*list) } fun remove(app: HomeApp) { - RemoveAppAsyncTask(baseDao).execute(app) + baseDao.remove(app) } fun clearTable(){ - ClearTableAsyncTask(baseDao).execute() - } - - private class AddAppAsyncTask(private val mAsyncTaskDao: BaseDao) : AsyncTask() { - - override fun doInBackground(vararg params: HomeApp): Void? { - mAsyncTaskDao.add(params[0]) - return null - } - } - - private class UpdateAppAsyncTask(private val mAsyncTaskDao: BaseDao) : AsyncTask() { - - override fun doInBackground(vararg params: HomeApp): Void? { - mAsyncTaskDao.update(*params) - return null - } - } - - private class RemoveAppAsyncTask(private val mAsyncTaskDao: BaseDao) : AsyncTask() { - - override fun doInBackground(vararg params: HomeApp): Void? { - mAsyncTaskDao.remove(params[0]) - return null - } - } - - private class ClearTableAsyncTask(private val mAsyncTaskDao: BaseDao) : AsyncTask() { - - override fun doInBackground(vararg params: Void): Void? { - mAsyncTaskDao.clearTable() - return null - } + baseDao.clearTable() } } diff --git a/app/src/main/java/com/sduduzog/slimlauncher/ui/main/HomeFragment.kt b/app/src/main/java/com/sduduzog/slimlauncher/ui/main/HomeFragment.kt index 85052fcd..70424d26 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/ui/main/HomeFragment.kt +++ b/app/src/main/java/com/sduduzog/slimlauncher/ui/main/HomeFragment.kt @@ -14,6 +14,7 @@ import android.view.ViewGroup import android.view.inputmethod.InputMethodManager import androidx.constraintlayout.motion.widget.MotionLayout import androidx.constraintlayout.motion.widget.MotionLayout.TransitionListener +import androidx.fragment.app.viewModels import androidx.lifecycle.lifecycleScope import androidx.navigation.Navigation import androidx.recyclerview.widget.LinearLayoutManager @@ -36,10 +37,12 @@ import java.util.* import javax.inject.Inject @AndroidEntryPoint -class HomeFragment(private val viewModel: MainViewModel) : BaseFragment(), OnLaunchAppListener { +class HomeFragment : BaseFragment(), OnLaunchAppListener { @Inject lateinit var unlauncherDataSource: UnlauncherDataSource + private val viewModel: MainViewModel by viewModels() + private lateinit var receiver: BroadcastReceiver private lateinit var appDrawerAdapter: AppDrawerAdapter diff --git a/app/src/main/java/com/sduduzog/slimlauncher/ui/options/AddAppFragment.kt b/app/src/main/java/com/sduduzog/slimlauncher/ui/options/AddAppFragment.kt index 65b62b73..34deda71 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/ui/options/AddAppFragment.kt +++ b/app/src/main/java/com/sduduzog/slimlauncher/ui/options/AddAppFragment.kt @@ -1,21 +1,13 @@ package com.sduduzog.slimlauncher.ui.options -import android.app.Activity -import android.content.Context -import android.content.pm.LauncherApps import android.os.Bundle -import android.os.Process -import android.os.UserManager import android.text.Editable import android.text.TextWatcher import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.view.inputmethod.InputMethodManager import androidx.fragment.app.viewModels -import androidx.lifecycle.Observer import androidx.navigation.Navigation -import com.sduduzog.slimlauncher.BuildConfig import com.sduduzog.slimlauncher.R import com.sduduzog.slimlauncher.adapters.AddAppAdapter import com.sduduzog.slimlauncher.data.model.App @@ -36,8 +28,8 @@ class AddAppFragment : BaseFragment(), OnAppClickedListener { return inflater.inflate(R.layout.add_app_fragment, container, false) } - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) + override fun onActivityCreated(savedInstanceState: Bundle?) { + super.onActivityCreated(savedInstanceState) val adapter = AddAppAdapter(this) add_app_fragment_list.adapter = adapter @@ -62,9 +54,6 @@ class AddAppFragment : BaseFragment(), OnAppClickedListener { override fun onPause() { super.onPause() add_app_fragment_edit_text?.removeTextChangedListener(onTextChangeListener) - - val inputMethodManager = requireContext().getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager - inputMethodManager.hideSoftInputFromWindow(requireView().windowToken, 0) } private val onTextChangeListener: TextWatcher = object : TextWatcher { @@ -86,4 +75,4 @@ class AddAppFragment : BaseFragment(), OnAppClickedListener { viewModel.addAppToHomeScreen(app) Navigation.findNavController(add_app_fragment).popBackStack() } -} +} \ No newline at end of file diff --git a/app/src/main/java/com/sduduzog/slimlauncher/ui/options/CustomiseAppsFragment.kt b/app/src/main/java/com/sduduzog/slimlauncher/ui/options/CustomiseAppsFragment.kt index 549b0525..595cb5b5 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/ui/options/CustomiseAppsFragment.kt +++ b/app/src/main/java/com/sduduzog/slimlauncher/ui/options/CustomiseAppsFragment.kt @@ -7,7 +7,6 @@ import android.view.View import android.view.ViewGroup import androidx.appcompat.widget.PopupMenu import androidx.fragment.app.viewModels -import androidx.lifecycle.Observer import androidx.navigation.Navigation import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.RecyclerView diff --git a/app/src/main/java/com/sduduzog/slimlauncher/ui/options/OptionsFragment.kt b/app/src/main/java/com/sduduzog/slimlauncher/ui/options/OptionsFragment.kt index 1baebdbc..62113748 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/ui/options/OptionsFragment.kt +++ b/app/src/main/java/com/sduduzog/slimlauncher/ui/options/OptionsFragment.kt @@ -2,7 +2,6 @@ package com.sduduzog.slimlauncher.ui.options import android.content.Context.MODE_PRIVATE import android.content.Intent -import android.net.Uri import android.os.Bundle import android.provider.Settings import android.text.SpannableStringBuilder @@ -34,12 +33,8 @@ class OptionsFragment : BaseFragment() { return inflater.inflate(R.layout.options_fragment, container, false) } - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - options_fragment_about_slim.setOnClickListener { - val intent = Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.slim_url))) - launchActivity(it, intent) - } + override fun onActivityCreated(savedInstanceState: Bundle?) { + super.onActivityCreated(savedInstanceState) options_fragment_device_settings.setOnClickListener { val intent = Intent(Settings.ACTION_SETTINGS) launchActivity(it, intent) diff --git a/app/src/main/java/com/sduduzog/slimlauncher/utils/BaseFragment.kt b/app/src/main/java/com/sduduzog/slimlauncher/utils/BaseFragment.kt index 7f3e30b7..cf9fe1af 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/utils/BaseFragment.kt +++ b/app/src/main/java/com/sduduzog/slimlauncher/utils/BaseFragment.kt @@ -74,15 +74,15 @@ abstract class BaseFragment : Fragment(), ISubscriber { val myUserHandle = Process.myUserHandle() for (profile in manager.userProfiles) { - val prefix = if (profile == myUserHandle) "" else "\uD83C\uDD46 " //Unicode for boxed w + val prefix = if (profile.equals(myUserHandle)) "" else "\uD83C\uDD46 " //Unicode for boxed w val profileSerial = manager.getSerialNumberForUser(profile) for (activityInfo in launcher.getActivityList(null, profile)) { val app = App( - appName = prefix + activityInfo.label.toString(), - packageName = activityInfo.applicationInfo.packageName, - activityName = activityInfo.name, - userSerial = profileSerial + appName = prefix + activityInfo.label.toString(), + packageName = activityInfo.applicationInfo.packageName, + activityName = activityInfo.name, + userSerial = profileSerial ) list.add(app) } diff --git a/app/src/main/res/layout/options_fragment.xml b/app/src/main/res/layout/options_fragment.xml index 338ef092..85b423a0 100644 --- a/app/src/main/res/layout/options_fragment.xml +++ b/app/src/main/res/layout/options_fragment.xml @@ -27,35 +27,20 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> - - - + Hinzufügen Alles entfernen Einstellungen - Über Slim Entfernen Umbenennen Aussehen ändern diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 76701b50..39f871b1 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -22,7 +22,6 @@ Format de l’heure Options - À propos d’Unlauncher Paramètres Système Changer le Thème Format de l’Heure diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index edf4f415..b37994b6 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -22,7 +22,6 @@ Formato dell\'ora Impostazioni - Informazioni su Unlauncher Impostazioni del dispositivo Cambia il tema Formato dell\'ora diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index e7955b9b..0e480bd2 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -25,7 +25,6 @@ hide_status_bar Velg tidsformat Innstillinger - Om Enhetsinnstillinger Drakt Tidsformat diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 2884aa23..acdd5cd0 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -25,7 +25,6 @@ hide_status_bar Kies de tijdopmaak Opties - Over Slim Systeeminstellingen Thema wijzigen Kies de tijdopmaak diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 2160ae87..35f5749b 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -5,7 +5,6 @@ Добавить Удалить все Настройки - О Slim Удалить Переименовать Изменить тему diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 4d53200f..e431d30d 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -7,7 +7,6 @@ Налаштування Видалити Перейменувати - Про Slim Обрати формат часу Налаштування програм Налаштування пристрою diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 93143062..dd2985b7 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -34,7 +34,6 @@ hide_status_bar 选择时间格式 选项 - 关于 Unlauncher 设备设置 更改主题 选择时间格式 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 8d23c0ad..25353f8b 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -26,7 +26,6 @@ hide_status_bar 選擇時間格式 選項 - 關於Unlauncher 設備設置 更換主題 選擇時間格式 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f6997792..7af7f65c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -34,7 +34,6 @@ hide_status_bar Choose Time Format Options - About Unlauncher Device Settings Change Theme Choose Time Format diff --git a/build.gradle.kts b/build.gradle.kts index 6401c7fe..82acd271 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,9 +6,9 @@ buildscript { mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:4.2.1") + classpath("com.android.tools.build:gradle:4.2.2") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.10") - classpath("com.google.dagger:hilt-android-gradle-plugin:2.28-alpha") + classpath("com.google.dagger:hilt-android-gradle-plugin:2.35") // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files