From ecc708d3c1417b60f316a0387d17f2cf4c67c2b1 Mon Sep 17 00:00:00 2001 From: Stephen Bird Date: Thu, 31 Mar 2016 15:03:11 -0700 Subject: [1/4] Refactor CallMethodHelper Change-Id: I3b24eedffddbf0960023dc2f1429038e5353de2f --- .../common/incall/StartInCallCallReceiver.java | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src-ambient/com/android/phone/common/incall/StartInCallCallReceiver.java (limited to 'src-ambient/com/android/phone/common/incall/StartInCallCallReceiver.java') diff --git a/src-ambient/com/android/phone/common/incall/StartInCallCallReceiver.java b/src-ambient/com/android/phone/common/incall/StartInCallCallReceiver.java new file mode 100644 index 0000000..52bfdd0 --- /dev/null +++ b/src-ambient/com/android/phone/common/incall/StartInCallCallReceiver.java @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2015 The CyanogenMod Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.phone.common.incall; + +import android.os.Bundle; +import android.os.Handler; +import android.os.ResultReceiver; +import android.util.Log; + +import java.lang.ref.WeakReference; + +public class StartInCallCallReceiver extends ResultReceiver { + private static final String TAG = StartInCallCallReceiver.class.getSimpleName(); + private static final boolean DEBUG = false; + + private WeakReference mReceiver; + + public interface InCallCallListener { + void onResult(int resultCode); + } + + public StartInCallCallReceiver(Handler handler) { + super(handler); + } + + @Override + protected void onReceiveResult(int resultCode, Bundle resultData) { + if (DEBUG) { + Log.d(TAG, "Result received resultCode: " + resultCode + " resultData: " + resultData); + } + + if (mReceiver != null) { + Receiver receiver = mReceiver.get(); + if (receiver != null) { + receiver.onReceiveResult(resultCode, resultData); + } + } + } + + public interface Receiver { + void onReceiveResult(int resultCode, Bundle resultData); + } + + public void setReceiver(Receiver receiver) { + mReceiver = new WeakReference(receiver); + } + +} \ No newline at end of file -- cgit v1.2.3