1*b7c941bbSAndroid Build Coastguard Worker /* 2*b7c941bbSAndroid Build Coastguard Worker * Copyright (C) 2020 The Android Open Source Project 3*b7c941bbSAndroid Build Coastguard Worker * 4*b7c941bbSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*b7c941bbSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*b7c941bbSAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*b7c941bbSAndroid Build Coastguard Worker * 8*b7c941bbSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*b7c941bbSAndroid Build Coastguard Worker * 10*b7c941bbSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*b7c941bbSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*b7c941bbSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*b7c941bbSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*b7c941bbSAndroid Build Coastguard Worker * limitations under the License. 15*b7c941bbSAndroid Build Coastguard Worker */ 16*b7c941bbSAndroid Build Coastguard Worker 17*b7c941bbSAndroid Build Coastguard Worker package android.quickaccesswallet; 18*b7c941bbSAndroid Build Coastguard Worker 19*b7c941bbSAndroid Build Coastguard Worker import android.content.Intent; 20*b7c941bbSAndroid Build Coastguard Worker import android.os.IBinder; 21*b7c941bbSAndroid Build Coastguard Worker import android.service.quickaccesswallet.WalletServiceEvent; 22*b7c941bbSAndroid Build Coastguard Worker 23*b7c941bbSAndroid Build Coastguard Worker import androidx.annotation.NonNull; 24*b7c941bbSAndroid Build Coastguard Worker import androidx.annotation.Nullable; 25*b7c941bbSAndroid Build Coastguard Worker 26*b7c941bbSAndroid Build Coastguard Worker import java.lang.ref.WeakReference; 27*b7c941bbSAndroid Build Coastguard Worker 28*b7c941bbSAndroid Build Coastguard Worker public class TestQuickAccessWalletService extends TestBaseQuickAccessWalletService { 29*b7c941bbSAndroid Build Coastguard Worker 30*b7c941bbSAndroid Build Coastguard Worker private static WeakReference<TestQuickAccessWalletService> sServiceRef = 31*b7c941bbSAndroid Build Coastguard Worker new WeakReference<>(null); 32*b7c941bbSAndroid Build Coastguard Worker 33*b7c941bbSAndroid Build Coastguard Worker @Nullable 34*b7c941bbSAndroid Build Coastguard Worker @Override onBind(@onNull Intent intent)35*b7c941bbSAndroid Build Coastguard Worker public IBinder onBind(@NonNull Intent intent) { 36*b7c941bbSAndroid Build Coastguard Worker sServiceRef = new WeakReference<>(this); 37*b7c941bbSAndroid Build Coastguard Worker return super.onBind(intent); 38*b7c941bbSAndroid Build Coastguard Worker } 39*b7c941bbSAndroid Build Coastguard Worker 40*b7c941bbSAndroid Build Coastguard Worker @Override onUnbind(Intent intent)41*b7c941bbSAndroid Build Coastguard Worker public boolean onUnbind(Intent intent) { 42*b7c941bbSAndroid Build Coastguard Worker sServiceRef.clear(); 43*b7c941bbSAndroid Build Coastguard Worker return super.onUnbind(intent); 44*b7c941bbSAndroid Build Coastguard Worker } 45*b7c941bbSAndroid Build Coastguard Worker sendEvent(WalletServiceEvent event)46*b7c941bbSAndroid Build Coastguard Worker public static void sendEvent(WalletServiceEvent event) { 47*b7c941bbSAndroid Build Coastguard Worker TestQuickAccessWalletService service = sServiceRef.get(); 48*b7c941bbSAndroid Build Coastguard Worker if (service != null) { 49*b7c941bbSAndroid Build Coastguard Worker service.sendWalletServiceEvent(event); 50*b7c941bbSAndroid Build Coastguard Worker } 51*b7c941bbSAndroid Build Coastguard Worker } 52*b7c941bbSAndroid Build Coastguard Worker } 53