@Override public void onRetry() { uploadKeys(deviceKeys, oneTimeKeys, deviceId, callback); } }));
@Override public void onRetry() { uploadKeys(deviceKeys, oneTimeKeys, deviceId, callback); } }));
mSession.getCryptoRestClient().uploadKeys(null, oneTimeJson, mMyDevice.deviceId, new SimpleApiCallback<KeysUploadResponse>(callback) { @Override public void onSuccess(final KeysUploadResponse info) {
} else { mSession.getCryptoRestClient().uploadKeys(null, null, mMyDevice.deviceId, new ApiCallback<KeysUploadResponse>() { private void onFailed(String errorMessage) { if (null != errorMessage) {
/** * Upload my user's device keys. * This method must called on getEncryptingThreadHandler() thread. * The callback will called on UI thread. * * @param callback the asynchronous callback */ private void uploadDeviceKeys(ApiCallback<KeysUploadResponse> callback) { // Prepare the device keys data to send // Sign it mMyDevice.signatures = signObject(JsonUtils.getCanonicalizedJsonString(mMyDevice.signalableJSONDictionary())); // For now, we set the device id explicitly, as we may not be using the // same one as used in login. mSession.getCryptoRestClient().uploadKeys(mMyDevice.JSONDictionary(), null, mMyDevice.deviceId, callback); }
@Test public void test02_testOneTimeKeys() throws Exception { Context context = InstrumentationRegistry.getContext(); final SessionTestParams testParams = new SessionTestParams(true); final MXSession bobSession = mTestHelper.createAccount(TestConstants.USER_BOB, testParams); final Map<String, Object> results = new HashMap<>(); final Map<String, Object> otks = new HashMap<>(); otks.put("curve25519:AAAABQ", "ueuHES/Q0P1MZ4J3IUpC8iQTkgQNX66ZpxVLUaTDuB8"); otks.put("curve25519:AAAABA", "PmyaaB68Any+za9CuZXzFsQZW31s/TW6XbAB9akEpQs"); CountDownLatch lock1 = new CountDownLatch(1); bobSession.getCryptoRestClient().uploadKeys(null, otks, "dev1", new TestApiCallback<KeysUploadResponse>(lock1) { @Override public void onSuccess(KeysUploadResponse keysUploadResponse) { results.put("keysUploadResponse", keysUploadResponse); super.onSuccess(keysUploadResponse); } }); mTestHelper.await(lock1); KeysUploadResponse keysUploadResponse = (KeysUploadResponse) results.get("keysUploadResponse"); Assert.assertNotNull(keysUploadResponse); Assert.assertNotNull(keysUploadResponse.oneTimeKeyCounts); Assert.assertEquals(1, keysUploadResponse.oneTimeKeyCounts.size()); Assert.assertEquals(2, keysUploadResponse.oneTimeKeyCountsForAlgorithm("curve25519")); Assert.assertEquals(0, keysUploadResponse.oneTimeKeyCountsForAlgorithm("deded")); bobSession.clear(context); }
bobSession.getCryptoRestClient().uploadKeys(null, otks, "dev1", new TestApiCallback<KeysUploadResponse>(lock1) { @Override public void onSuccess(KeysUploadResponse keysUploadResponse) {
bobSession.getCryptoRestClient().uploadKeys(bobDevice.JSONDictionary(), null, "dev1", new TestApiCallback<KeysUploadResponse>(lock0) { @Override public void onSuccess(KeysUploadResponse keysUploadResponse) {