Chromium changes: https://chromium.googlesource.com/chromium/src/+/0d6ec7e0f328e9ddd6f5174f61676ff85c777af6 commit 0d6ec7e0f328e9ddd6f5174f61676ff85c777af6 Author: Andrew Grieve <agrieve@chromium.org> Date: Tue Dec 2 12:37:02 2025 -0800 Android: Replace JavaParamRef -> JavaRef (part 5) JavaParamRef used to be different, but now is an alias for JavaRef. Bug: 40173007 Change-Id: I9bfa2fcdd012fc90859886ee2e747cb360733421 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7217772 Commit-Queue: Andrew Grieve <agrieve@chromium.org> Owners-Override: Andrew Grieve <agrieve@chromium.org> Reviewed-by: Martin Kong <martinkong@google.com> Cr-Commit-Position: refs/heads/main@{#1553033}
89 lines
2.6 KiB
C++
89 lines
2.6 KiB
C++
/* Copyright (c) 2019 The Brave Authors. All rights reserved.
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef BRAVE_BROWSER_ANDROID_BRAVE_SYNC_WORKER_H_
|
|
#define BRAVE_BROWSER_ANDROID_BRAVE_SYNC_WORKER_H_
|
|
|
|
#include <jni.h>
|
|
#include <string>
|
|
|
|
#include "base/android/jni_weak_ref.h"
|
|
#include "base/memory/raw_ptr.h"
|
|
#include "base/scoped_multi_source_observation.h"
|
|
#include "components/sync/service/sync_service.h"
|
|
#include "components/sync/service/sync_service_observer.h"
|
|
|
|
class Profile;
|
|
|
|
namespace syncer {
|
|
class BraveSyncServiceImpl;
|
|
} // namespace syncer
|
|
|
|
namespace chrome {
|
|
namespace android {
|
|
|
|
class BraveSyncWorker : public syncer::SyncServiceObserver {
|
|
public:
|
|
BraveSyncWorker(JNIEnv* env,
|
|
const base::android::JavaRef<jobject>& obj);
|
|
BraveSyncWorker(const BraveSyncWorker&) = delete;
|
|
BraveSyncWorker& operator=(const BraveSyncWorker&) = delete;
|
|
~BraveSyncWorker() override;
|
|
|
|
void Destroy(JNIEnv* env);
|
|
|
|
base::android::ScopedJavaLocalRef<jstring> GetSyncCodeWords(JNIEnv* env);
|
|
|
|
void SaveCodeWords(JNIEnv* env,
|
|
const base::android::JavaRef<jstring>& passphrase);
|
|
|
|
void RequestSync(JNIEnv* env);
|
|
|
|
void FinalizeSyncSetup(JNIEnv* env);
|
|
|
|
bool IsInitialSyncFeatureSetupComplete(JNIEnv* env);
|
|
|
|
void ResetSync(JNIEnv* env);
|
|
|
|
void PermanentlyDeleteAccount(
|
|
JNIEnv* env,
|
|
const base::android::JavaRef<jobject>& callback);
|
|
|
|
void SetJoinSyncChainCallback(
|
|
JNIEnv* env,
|
|
const base::android::JavaRef<jobject>& callback);
|
|
|
|
void ClearAccountDeletedNoticePending(JNIEnv* env);
|
|
bool IsAccountDeletedNoticePending(JNIEnv* env);
|
|
|
|
private:
|
|
syncer::BraveSyncServiceImpl* GetSyncService() const;
|
|
void MarkFirstSetupComplete();
|
|
|
|
// syncer::SyncServiceObserver implementation.
|
|
void OnStateChanged(syncer::SyncService* service) override;
|
|
void OnSyncShutdown(syncer::SyncService* sync) override;
|
|
|
|
void OnResetDone();
|
|
|
|
void SetEncryptionPassphrase(syncer::SyncService* service);
|
|
void SetDecryptionPassphrase(syncer::SyncService* service);
|
|
|
|
JavaObjectWeakGlobalRef weak_java_brave_sync_worker_;
|
|
raw_ptr<Profile> profile_ = nullptr;
|
|
|
|
std::string passphrase_;
|
|
|
|
base::ScopedMultiSourceObservation<syncer::SyncService,
|
|
syncer::SyncServiceObserver>
|
|
sync_service_observer_{this};
|
|
base::WeakPtrFactory<BraveSyncWorker> weak_ptr_factory_{this};
|
|
};
|
|
|
|
} // namespace android
|
|
} // namespace chrome
|
|
|
|
#endif // BRAVE_BROWSER_ANDROID_BRAVE_SYNC_WORKER_H_
|