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;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
@ -57,6 +58,7 @@ import autodagger.AutoInjector;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import io.requery.Persistable;
|
||||
import io.requery.android.sqlcipher.SqlCipherDatabaseSource;
|
||||
import io.requery.reactivex.ReactiveEntityStore;
|
||||
|
||||
@AutoInjector(NextcloudTalkApplication.class)
|
||||
@ -73,6 +75,8 @@ public final class MainActivity extends AppCompatActivity implements ActionBarPr
|
||||
UserUtils userUtils;
|
||||
@Inject
|
||||
ReactiveEntityStore<Persistable> dataStore;
|
||||
@Inject
|
||||
SqlCipherDatabaseSource sqlCipherDatabaseSource;
|
||||
|
||||
@Inject
|
||||
EventBus eventBus;
|
||||
@ -92,7 +96,8 @@ public final class MainActivity extends AppCompatActivity implements ActionBarPr
|
||||
|
||||
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())
|
||||
.pushChangeHandler(new HorizontalChangeHandler())
|
||||
.popChangeHandler(new HorizontalChangeHandler()));
|
||||
@ -135,7 +140,7 @@ public final class MainActivity extends AppCompatActivity implements ActionBarPr
|
||||
issuedFor = cert.getSubjectDN().getName();
|
||||
}
|
||||
|
||||
String dialogText = String.format(getResources()
|
||||
@SuppressLint("StringFormatMatches") String dialogText = String.format(getResources()
|
||||
.getString(R.string.nc_certificate_dialog_text),
|
||||
issuedBy, issuedFor, validFrom, validUntil);
|
||||
|
||||
|
@ -45,13 +45,17 @@ public class DatabaseModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
public ReactiveEntityStore<Persistable> provideDataStore(@NonNull final Context context) {
|
||||
|
||||
final SqlCipherDatabaseSource source = new SqlCipherDatabaseSource(context, Models.DEFAULT,
|
||||
public SqlCipherDatabaseSource provideSqlCipherDatabaseSource(@NonNull final Context context) {
|
||||
return new SqlCipherDatabaseSource(context, Models.DEFAULT,
|
||||
context.getResources().getString(R.string.nc_app_name).toLowerCase()
|
||||
.replace(" ", "_").trim() + ".sqlite",
|
||||
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));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user