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 @@ -305,8 +305,14 @@ interface WalletPinService {
305
305
IsTokenSupported(BlockchainToken token) => (bool result);
306
306
};
307
307
308
+ interface WalletAutoPinServiceObserver {
309
+ OnAutoPinStatusChanged(bool enabled);
310
+ };
311
+
308
312
// Listens for added user tokens and automatically pins them.
309
313
interface WalletAutoPinService {
314
+ AddObserver(pending_remote<WalletAutoPinServiceObserver> observer);
315
+
310
316
// Enables autopinning, so old and new user tokens may be pinned.
311
317
SetAutoPinEnabled(bool enabled);
312
318
IsAutoPinEnabled() => (bool enabled);
Original file line number Diff line number Diff line change @@ -153,6 +153,17 @@ export class WalletApiProxy {
153
153
} )
154
154
this . braveWalletPinService . addObserver ( braveWalletServiceObserverReceiver . $ . bindNewPipeAndPassRemote ( ) )
155
155
}
156
+
157
+ addBraveWalletAutoPinServiceObserver ( store : Store ) {
158
+ const braveWalletAutoPinServiceObserverReceiver = new BraveWallet . WalletAutoPinServiceObserverReceiver ( {
159
+ onAutoPinStatusChanged : function ( enabled ) {
160
+ store . dispatch ( WalletPageActions . updateAutoPinEnabled (
161
+ enabled
162
+ ) )
163
+ }
164
+ } )
165
+ this . braveWalletAutoPinService . addObserver ( braveWalletAutoPinServiceObserverReceiver . $ . bindNewPipeAndPassRemote ( ) )
166
+ }
156
167
}
157
168
158
169
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