File tree 5 files changed +31
-1
lines changed
5 files changed +31
-1
lines changed Original file line number Diff line number Diff line change @@ -59,11 +59,15 @@ void BraveWalletAutoPinService::Reset() {
59
59
}
60
60
61
61
void BraveWalletAutoPinService::OnAutoPinStatusChanged () {
62
- if (IsAutoPinEnabled ()) {
62
+ auto enabled = IsAutoPinEnabled ();
63
+ if (enabled) {
63
64
Restore ();
64
65
} else {
65
66
queue_.clear ();
66
67
}
68
+ for (const auto & observer : observers_) {
69
+ observer->OnAutoPinStatusChanged (enabled);
70
+ }
67
71
}
68
72
69
73
BraveWalletAutoPinService::~BraveWalletAutoPinService () {}
@@ -330,4 +334,9 @@ void BraveWalletAutoPinService::IsAutoPinEnabled(
330
334
std::move (callback).Run (IsAutoPinEnabled ());
331
335
}
332
336
337
+ void BraveWalletAutoPinService::AddObserver (
338
+ ::mojo::PendingRemote<mojom::WalletAutoPinServiceObserver> observer) {
339
+ observers_.Add (std::move (observer));
340
+ }
341
+
333
342
} // namespace brave_wallet
Original file line number Diff line number Diff line change @@ -49,6 +49,8 @@ class BraveWalletAutoPinService
49
49
50
50
void SetAutoPinEnabled (bool enabled) override ;
51
51
void IsAutoPinEnabled (IsAutoPinEnabledCallback callback) override ;
52
+ void AddObserver (::mojo::PendingRemote<mojom::WalletAutoPinServiceObserver>
53
+ observer) override ;
52
54
53
55
// BraveWalletServiceTokenObserver
54
56
void OnTokenAdded (mojom::BlockchainTokenPtr token) override ;
@@ -110,6 +112,7 @@ class BraveWalletAutoPinService
110
112
std::deque<std::unique_ptr<IntentData>> queue_;
111
113
112
114
std::unique_ptr<PrefChangeRegistrar> pref_change_registrar_;
115
+ mojo::RemoteSet<mojom::WalletAutoPinServiceObserver> observers_;
113
116
114
117
base::WeakPtrFactory<BraveWalletAutoPinService> weak_ptr_factory_{this };
115
118
};
Original file line number Diff line number Diff line change @@ -303,8 +303,14 @@ interface WalletPinService {
303
303
IsTokenSupported(BlockchainToken token) => (bool result);
304
304
};
305
305
306
+ interface WalletAutoPinServiceObserver {
307
+ OnAutoPinStatusChanged(bool enabled);
308
+ };
309
+
306
310
// Listens for added user tokens and automatically pins them.
307
311
interface WalletAutoPinService {
312
+ AddObserver(pending_remote<WalletAutoPinServiceObserver> observer);
313
+
308
314
// Enables autopinning, so old and new user tokens may be pinned.
309
315
SetAutoPinEnabled(bool enabled);
310
316
IsAutoPinEnabled() => (bool enabled);
Original file line number Diff line number Diff line change @@ -150,6 +150,17 @@ export class WalletApiProxy {
150
150
} )
151
151
this . braveWalletPinService . addObserver ( braveWalletServiceObserverReceiver . $ . bindNewPipeAndPassRemote ( ) )
152
152
}
153
+
154
+ addBraveWalletAutoPinServiceObserver ( store : Store ) {
155
+ const braveWalletAutoPinServiceObserverReceiver = new BraveWallet . WalletAutoPinServiceObserverReceiver ( {
156
+ onAutoPinStatusChanged : function ( enabled ) {
157
+ store . dispatch ( WalletPageActions . updateAutoPinEnabled (
158
+ enabled
159
+ ) )
160
+ }
161
+ } )
162
+ this . braveWalletAutoPinService . addObserver ( braveWalletAutoPinServiceObserverReceiver . $ . bindNewPipeAndPassRemote ( ) )
163
+ }
153
164
}
154
165
155
166
export default WalletApiProxy
Original file line number Diff line number Diff line change @@ -43,6 +43,7 @@ proxy.addKeyringServiceObserver(store)
43
43
proxy . addTxServiceObserver ( store )
44
44
proxy . addBraveWalletServiceObserver ( store )
45
45
proxy . addBraveWalletPinServiceObserver ( store )
46
+ proxy . addBraveWalletAutoPinServiceObserver ( store )
46
47
47
48
export const walletPageApiProxy = proxy
48
49
You can’t perform that action at this time.
0 commit comments