Home | History | Annotate | Download | only in telephony
      1 /**
      2  * Copyright (C) 2017 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package com.android.internal.telephony;
     18 
     19 import android.hardware.radio.deprecated.V1_0.IOemHookIndication;
     20 import android.os.AsyncResult;
     21 
     22 import java.util.ArrayList;
     23 
     24 import static com.android.internal.telephony.RILConstants.RIL_UNSOL_OEM_HOOK_RAW;
     25 
     26 /**
     27  * Class containing oem hook indication callbacks
     28  */
     29 public class OemHookIndication extends IOemHookIndication.Stub {
     30     RIL mRil;
     31 
     32     public OemHookIndication(RIL ril) {
     33         mRil = ril;
     34     }
     35 
     36     /**
     37      * @param indicationType RadioIndicationType
     38      * @param data Data sent by oem
     39      */
     40     public void oemHookRaw(int indicationType, ArrayList<Byte> data) {
     41         mRil.processIndication(indicationType);
     42 
     43         byte[] response = RIL.arrayListToPrimitiveArray(data);
     44         if (RIL.RILJ_LOGD) {
     45             mRil.unsljLogvRet(RIL_UNSOL_OEM_HOOK_RAW,
     46                     com.android.internal.telephony.uicc.IccUtils.bytesToHexString(response));
     47         }
     48 
     49         if (mRil.mUnsolOemHookRawRegistrant != null) {
     50             mRil.mUnsolOemHookRawRegistrant.notifyRegistrant(new AsyncResult(null, response, null));
     51         }
     52     }
     53 }
     54