mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-16 04:39:54 +01:00
Measure performance of DB lookups for parent blocks.
This commit is contained in:
@@ -12,6 +12,7 @@ import org.briarproject.bramble.api.contact.ContactExchangeTask;
|
||||
import org.briarproject.bramble.api.contact.ContactManager;
|
||||
import org.briarproject.bramble.api.crypto.CryptoExecutor;
|
||||
import org.briarproject.bramble.api.crypto.PasswordStrengthEstimator;
|
||||
import org.briarproject.bramble.api.db.DatabaseComponent;
|
||||
import org.briarproject.bramble.api.db.DatabaseExecutor;
|
||||
import org.briarproject.bramble.api.event.EventBus;
|
||||
import org.briarproject.bramble.api.identity.IdentityManager;
|
||||
@@ -82,6 +83,8 @@ public interface AndroidComponent
|
||||
@DatabaseExecutor
|
||||
Executor databaseExecutor();
|
||||
|
||||
DatabaseComponent databaseComponent();
|
||||
|
||||
MessageTracker messageTracker();
|
||||
|
||||
LifecycleManager lifecycleManager();
|
||||
|
||||
@@ -223,6 +223,7 @@ public class NavDrawerActivity extends BriarActivity implements
|
||||
|
||||
@Override
|
||||
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
|
||||
controller.countFakes();
|
||||
drawerLayout.closeDrawer(START);
|
||||
clearBackStack();
|
||||
if (item.getItemId() == R.id.nav_btn_lock) {
|
||||
|
||||
@@ -21,4 +21,5 @@ public interface NavDrawerController extends ActivityLifecycleController {
|
||||
void shouldAskForDozeWhitelisting(Context ctx,
|
||||
ResultHandler<Boolean> handler);
|
||||
|
||||
void countFakes();
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@ package org.briarproject.briar.android.navdrawer;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
|
||||
import org.briarproject.bramble.api.UniqueId;
|
||||
import org.briarproject.bramble.api.db.DatabaseComponent;
|
||||
import org.briarproject.bramble.api.db.DatabaseExecutor;
|
||||
import org.briarproject.bramble.api.db.DbException;
|
||||
import org.briarproject.bramble.api.event.Event;
|
||||
@@ -21,6 +23,9 @@ import org.briarproject.bramble.api.settings.SettingsManager;
|
||||
import org.briarproject.briar.android.controller.DbControllerImpl;
|
||||
import org.briarproject.briar.android.controller.handler.ResultHandler;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@@ -49,6 +54,7 @@ public class NavDrawerControllerImpl extends DbControllerImpl
|
||||
private static final String EXPIRY_DATE_WARNING = "expiryDateWarning";
|
||||
private static final String EXPIRY_SHOW_UPDATE = "expiryShowUpdate";
|
||||
|
||||
private final DatabaseComponent db;
|
||||
private final PluginManager pluginManager;
|
||||
private final SettingsManager settingsManager;
|
||||
private final EventBus eventBus;
|
||||
@@ -57,9 +63,11 @@ public class NavDrawerControllerImpl extends DbControllerImpl
|
||||
|
||||
@Inject
|
||||
NavDrawerControllerImpl(@DatabaseExecutor Executor dbExecutor,
|
||||
LifecycleManager lifecycleManager, PluginManager pluginManager,
|
||||
SettingsManager settingsManager, EventBus eventBus) {
|
||||
DatabaseComponent db, LifecycleManager lifecycleManager,
|
||||
PluginManager pluginManager, SettingsManager settingsManager,
|
||||
EventBus eventBus) {
|
||||
super(dbExecutor, lifecycleManager);
|
||||
this.db = db;
|
||||
this.pluginManager = pluginManager;
|
||||
this.settingsManager = settingsManager;
|
||||
this.eventBus = eventBus;
|
||||
@@ -185,6 +193,25 @@ public class NavDrawerControllerImpl extends DbControllerImpl
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void countFakes() {
|
||||
int numFakes = 1024;
|
||||
Random random = new Random();
|
||||
List<byte[]> ids = new ArrayList<>(numFakes);
|
||||
for (int i = 0; i < numFakes; i++) {
|
||||
byte[] id = new byte[UniqueId.LENGTH];
|
||||
random.nextBytes(id);
|
||||
ids.add(id);
|
||||
}
|
||||
runOnDbThread(() -> {
|
||||
try {
|
||||
db.transaction(true, txn -> db.countFakes(txn, ids));
|
||||
} catch (DbException e) {
|
||||
logException(LOG, WARNING, e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isTransportRunning(TransportId transportId) {
|
||||
Plugin plugin = pluginManager.getPlugin(transportId);
|
||||
|
||||
Reference in New Issue
Block a user