mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-06 14:27:24 +00:00
Try to fix a crash with DB
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
f8f756da87
commit
04daed0926
@ -20,6 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.nextcloud.talk.activities;
|
package com.nextcloud.talk.activities;
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
@ -57,6 +58,7 @@ import autodagger.AutoInjector;
|
|||||||
import butterknife.BindView;
|
import butterknife.BindView;
|
||||||
import butterknife.ButterKnife;
|
import butterknife.ButterKnife;
|
||||||
import io.requery.Persistable;
|
import io.requery.Persistable;
|
||||||
|
import io.requery.android.sqlcipher.SqlCipherDatabaseSource;
|
||||||
import io.requery.reactivex.ReactiveEntityStore;
|
import io.requery.reactivex.ReactiveEntityStore;
|
||||||
|
|
||||||
@AutoInjector(NextcloudTalkApplication.class)
|
@AutoInjector(NextcloudTalkApplication.class)
|
||||||
@ -73,6 +75,8 @@ public final class MainActivity extends AppCompatActivity implements ActionBarPr
|
|||||||
UserUtils userUtils;
|
UserUtils userUtils;
|
||||||
@Inject
|
@Inject
|
||||||
ReactiveEntityStore<Persistable> dataStore;
|
ReactiveEntityStore<Persistable> dataStore;
|
||||||
|
@Inject
|
||||||
|
SqlCipherDatabaseSource sqlCipherDatabaseSource;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
EventBus eventBus;
|
EventBus eventBus;
|
||||||
@ -92,7 +96,8 @@ public final class MainActivity extends AppCompatActivity implements ActionBarPr
|
|||||||
|
|
||||||
router = Conductor.attachRouter(this, container, savedInstanceState);
|
router = Conductor.attachRouter(this, container, savedInstanceState);
|
||||||
|
|
||||||
if (!router.hasRootController() && userUtils.anyUserExists()) {
|
if (!router.hasRootController() && sqlCipherDatabaseSource.getWritableDatabase() != null &&
|
||||||
|
userUtils.anyUserExists()) {
|
||||||
router.setRoot(RouterTransaction.with(new MagicBottomNavigationController())
|
router.setRoot(RouterTransaction.with(new MagicBottomNavigationController())
|
||||||
.pushChangeHandler(new HorizontalChangeHandler())
|
.pushChangeHandler(new HorizontalChangeHandler())
|
||||||
.popChangeHandler(new HorizontalChangeHandler()));
|
.popChangeHandler(new HorizontalChangeHandler()));
|
||||||
@ -135,7 +140,7 @@ public final class MainActivity extends AppCompatActivity implements ActionBarPr
|
|||||||
issuedFor = cert.getSubjectDN().getName();
|
issuedFor = cert.getSubjectDN().getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
String dialogText = String.format(getResources()
|
@SuppressLint("StringFormatMatches") String dialogText = String.format(getResources()
|
||||||
.getString(R.string.nc_certificate_dialog_text),
|
.getString(R.string.nc_certificate_dialog_text),
|
||||||
issuedBy, issuedFor, validFrom, validUntil);
|
issuedBy, issuedFor, validFrom, validUntil);
|
||||||
|
|
||||||
|
@ -45,13 +45,17 @@ public class DatabaseModule {
|
|||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Singleton
|
@Singleton
|
||||||
public ReactiveEntityStore<Persistable> provideDataStore(@NonNull final Context context) {
|
public SqlCipherDatabaseSource provideSqlCipherDatabaseSource(@NonNull final Context context) {
|
||||||
|
return new SqlCipherDatabaseSource(context, Models.DEFAULT,
|
||||||
final SqlCipherDatabaseSource source = new SqlCipherDatabaseSource(context, Models.DEFAULT,
|
|
||||||
context.getResources().getString(R.string.nc_app_name).toLowerCase()
|
context.getResources().getString(R.string.nc_app_name).toLowerCase()
|
||||||
.replace(" ", "_").trim() + ".sqlite",
|
.replace(" ", "_").trim() + ".sqlite",
|
||||||
context.getString(R.string.nc_talk_database_encryption_key), 2);
|
context.getString(R.string.nc_talk_database_encryption_key), 2);
|
||||||
final Configuration configuration = source.getConfiguration();
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@Singleton
|
||||||
|
public ReactiveEntityStore<Persistable> provideDataStore(@NonNull final SqlCipherDatabaseSource sqlCipherDatabaseSource) {
|
||||||
|
final Configuration configuration = sqlCipherDatabaseSource.getConfiguration();
|
||||||
return ReactiveSupport.toReactiveStore(new EntityDataStore<Persistable>(configuration));
|
return ReactiveSupport.toReactiveStore(new EntityDataStore<Persistable>(configuration));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user