@@ -22,7 +22,6 @@ import androidx.room.Room
2222import com.fox2code.foxcompat.app.FoxActivity
2323import com.fox2code.mmm.databinding.ActivitySetupBinding
2424import com.fox2code.mmm.utils.IntentHelper
25- import com.fox2code.mmm.utils.realm.ReposList
2625import com.fox2code.mmm.utils.room.ModuleListCacheDatabase
2726import com.fox2code.mmm.utils.room.ReposListDatabase
2827import com.fox2code.rosettax.LanguageActivity
@@ -33,8 +32,6 @@ import com.google.android.material.checkbox.MaterialCheckBox
3332import com.google.android.material.dialog.MaterialAlertDialogBuilder
3433import com.google.android.material.materialswitch.MaterialSwitch
3534import com.topjohnwu.superuser.internal.UiThreadHandler
36- import io.realm.Realm
37- import io.realm.RealmConfiguration
3835import org.apache.commons.io.FileUtils
3936import timber.log.Timber
4037import java.io.File
@@ -43,7 +40,6 @@ import java.util.Objects
4340
4441class SetupActivity : FoxActivity (), LanguageActivity {
4542 private var cachedTheme = 0
46- private var realmDatabasesCreated = false
4743
4844 @SuppressLint(" ApplySharedPref" , " RestrictedApi" )
4945 override fun onCreate (savedInstanceState : Bundle ? ) {
@@ -227,36 +223,19 @@ class SetupActivity : FoxActivity(), LanguageActivity {
227223 (Objects .requireNonNull<Any >(view.findViewById(R .id.setup_app_analytics)) as MaterialSwitch ).isChecked
228224 )
229225 Timber .d(" Saving preferences" )
230- // Set the repos in the ReposList realm db
231- val realmConfig = RealmConfiguration .Builder ().name(" ReposList.realm" )
232- .encryptionKey(MainApplication .INSTANCE !! .key)
233- .directory(MainApplication .INSTANCE !! .getDataDirWithPath(" realms" ))
234- .schemaVersion(1 ).build()
235- val androidacyRepo = andRepoView.isChecked
236- val magiskAltRepo = magiskAltRepoView.isChecked
237- var realm = Realm .getInstance(realmConfig)
238- Timber .d(" Realm instance: %s" , realm)
239- if (realm.isInTransaction) {
240- realm.commitTransaction()
241- Timber .d(" Committed last unfinished transaction" )
242- }
243- // check if instance has been closed
244- if (realm.isClosed) {
245- Timber .d(" Realm instance was closed, reopening" )
246- realm = Realm .getInstance(realmConfig)
247- }
248- realm.executeTransactionAsync { r: Realm ->
249- Timber .d(" Realm transaction started" )
250- r.where(ReposList ::class .java).equalTo(" id" , " androidacy_repo" )
251- .findFirst()!! .isEnabled = androidacyRepo
252- r.where(ReposList ::class .java).equalTo(" id" , " magisk_alt_repo" )
253- .findFirst()!! .isEnabled = magiskAltRepo
254- Timber .d(" Realm transaction committing" )
255- // commit the changes
256- r.commitTransaction()
257- r.close()
258- Timber .d(" Realm transaction committed" )
259- }
226+ // now basically do the same thing for room db
227+ val db = Room .databaseBuilder(
228+ applicationContext,
229+ ReposListDatabase ::class .java, " ReposList.db"
230+ ).build()
231+ val androidacyRepoRoom = andRepoView.isChecked
232+ val magiskAltRepoRoom = magiskAltRepoView.isChecked
233+ val reposListDao = db.reposListDao()
234+ val androidacyRepoRoomObj = reposListDao.getById(" androidacy_repo" )
235+ val magiskAltRepoRoomObj = reposListDao.getById(" magisk_alt_repo" )
236+ reposListDao.setEnabled(androidacyRepoRoomObj.id, androidacyRepoRoom)
237+ reposListDao.setEnabled(magiskAltRepoRoomObj.id, magiskAltRepoRoom)
238+ db.close()
260239 editor.putString(" last_shown_setup" , " v3" )
261240 // Commit the changes
262241 editor.commit()
@@ -268,8 +247,8 @@ class SetupActivity : FoxActivity(), LanguageActivity {
268247 }
269248 // Log the changes
270249 Timber .d(" Setup finished. Preferences: %s" , prefs.all)
271- Timber .d(" Androidacy repo: %s" , androidacyRepo )
272- Timber .d(" Magisk Alt repo: %s" , magiskAltRepo )
250+ Timber .d(" Androidacy repo: %s" , androidacyRepoRoom )
251+ Timber .d(" Magisk Alt repo: %s" , magiskAltRepoRoom )
273252 // log last shown setup
274253 Timber .d(" Last shown setup: %s" , prefs.getString(" last_shown_setup" , " v0" ))
275254 // Restart the activity
@@ -384,7 +363,6 @@ class SetupActivity : FoxActivity(), LanguageActivity {
384363 FileUtils .forceMkdir(File (MainApplication .INSTANCE !! .dataDir.toString() + " /cache/cronet" ))
385364 FileUtils .forceMkdir(File (MainApplication .INSTANCE !! .dataDir.toString() + " /cache/WebView/Default/HTTP Cache/Code Cache/wasm" ))
386365 FileUtils .forceMkdir(File (MainApplication .INSTANCE !! .dataDir.toString() + " /cache/WebView/Default/HTTP Cache/Code Cache/js" ))
387- FileUtils .forceMkdir(File (MainApplication .INSTANCE !! .dataDir.toString() + " /repos/magiskAltRepo" ))
388366 } catch (e: IOException ) {
389367 Timber .e(e)
390368 }
@@ -393,7 +371,7 @@ class SetupActivity : FoxActivity(), LanguageActivity {
393371
394372 @Suppress(" KotlinConstantConditions" )
395373 private fun disableUpdateActivityForFdroidFlavor () {
396- if (BuildConfig .FLAVOR == " fdroid" ) {
374+ if (BuildConfig .FLAVOR == " fdroid" || BuildConfig . FLAVOR == " play " ) {
397375 // check if the update activity is enabled
398376 val pm = packageManager
399377 val componentName = ComponentName (this , UpdateActivity ::class .java)
0 commit comments