//package com.hh.arome.services.omc;
//
//import android.content.ComponentName;
//import android.content.Context;
//import android.content.Intent;
//import android.content.ServiceConnection;
//import android.os.IBinder;
//import android.os.RemoteException;
//
//import com.hh.arome.bean.LogcatAddRequestBean;
//import com.hh.arome.utlis.device.DeviceUtils;
//import com.hh.arome.utlis.log.AppLogUtils;
//
//import com.hh.arome.BuildConfig;
//import com.hh.arome.utlis.log.LogType;
//import com.hh.hhomc.AppMessageBean;
//
//import static android.content.Context.BIND_AUTO_CREATE;
//import static com.hh.arome.common.Constants.LogcatValue.LINE;
//import static com.hh.arome.common.Constants.LogcatValue.LOG_NODE_DEVICE;
//import static com.hh.arome.common.Constants.LogcatValue.NET_LOGCAT;
//import static com.hh.arome.common.Constants.LogcatValue.NODE;
//import static com.hh.arome.common.Constants.LogcatValue.WARP;
//import static com.hh.arome.common.Constants.SERVER_ACTION.CLOSE_APP;
//
//public class OmcService {
//
//    AppMessageCallback appMessageCallback;
//
//    public void bindService(Context context) {
//
//        AppLogUtils.e("bindService");
//        Intent intent = new Intent();
//        // 对应服务端AndroidManifest.xml配置service action:name
//        String ACTION = "com.hh.hhomc.services.AidlService";
//        intent.setAction(ACTION);
//        // 对应服务端AndroidManifest.xml package,可能会是测试包，注意打印对应服务端app包名，不然会连不上
//        intent.setPackage("com.hh.hhomc");
//        context.bindService(intent, serviceConnection, BIND_AUTO_CREATE);
//
//    }
//
//    IAidlInterface iAidlInterface;
//
//    private ServiceConnection serviceConnection = new ServiceConnection() {
//        @Override
//        public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
//            AppLogUtils.e("onServiceConnected");
//            iAidlInterface = IAidlInterface.Stub.asInterface(iBinder);
//            AppLogUtils.e("onServiceConnected--iAidlInterface--" + iAidlInterface);
//            try {
//                iAidlInterface.asBinder().linkToDeath(mDeathRecipient, 0);
//                iAidlInterface.registerCallBack(iAidlCallBack);
//
//
//                // 日志开始----------------begin
//                // 日志开始----------------end
//
//
//                // 发送消息
////                sendAppInfoMessage();
//
//                if (appMessageCallback != null) {
//                    appMessageCallback.
//                }
//
//
//            } catch (RemoteException e) {
//                e.printStackTrace();
//            }
//        }
//
//        @Override
//        public void onServiceDisconnected(ComponentName componentName) {
//
//        }
//    };
//
//
//    private IBinder.DeathRecipient mDeathRecipient = new IBinder.DeathRecipient() {
//        //当承载IBinder的进程消失时接收回调的接口
//        @Override
//        public void binderDied() {
//            if (null == iAidlInterface) {
//                return;
//            }
//            iAidlInterface.asBinder().unlinkToDeath(mDeathRecipient, 0);
//            iAidlInterface = null;
//            //断线重来逻辑
//        }
//    };
//
//    private IAidlCallBack iAidlCallBack = new IAidlCallBack.Stub() {
//        @Override
//        public void onMessageSuccess(AppMessageBean appMessageBean) throws RemoteException {
//            AppLogUtils.e("IAidlCallBack---getAppMessageBean" + appMessageBean.toString());
//
//
//            // 接受消息
////            AppMessageBean getBean = iAidlInterface.getAppMessageBean();
//            if (appMessageBean != null) {
//                AppLogUtils.e("接受消息");
//                String op = appMessageBean.getOp();
//
//            }
//
//
//        }
//
//
//    };
//
//
//    private void sendAppInfoMessage() {
//        // 发送消息
//        if (iAidlInterface != null) {
//            try {
//
//
////                String appPackageName = DeviceUtils.getAppPackageName(mActivity);
////                String appVersionName = DeviceUtils.getAppVersionName(mActivity);
////
////                AppLogUtils.e("appPackageName--" + appPackageName);
////                AppLogUtils.e("appVersionName--" + appVersionName);
////
////                AppMessageBean sendBean = new AppMessageBean();
////                sendBean.setBusinessAppPackageName(appPackageName + "");
////                sendBean.setBusinessAppVersionName(appVersionName + "");
////                sendBean.setSender(aidlSender);
////                sendBean.setSender(DeviceUtils.getDeviceSN());
//
//                iAidlInterface.setAppMessageBean(sendBean);
//            } catch (RemoteException e) {
//                e.printStackTrace();
//            } catch (NullPointerException e) {
//                AppLogUtils.e("发送消息--NullPointerException");
//                e.printStackTrace();
//            }
//            AppLogUtils.e("发送消息");
//        } else {
//            AppLogUtils.e("发送消息---iAidlInterface");
//        }
//    }
//
//
//    private void onDestroyUnregister(Context context) {
//
//        //解除注册
//        if (null != iAidlInterface && iAidlInterface.asBinder().isBinderAlive()) {
//            try {
//                iAidlInterface.unregisterCallBack(iAidlCallBack);
//            } catch (RemoteException e) {
//                e.printStackTrace();
//            }
//        }
//        //解除绑定服务
//        if (null != serviceConnection) {
//            context.unbindService(serviceConnection);
//        }
//
//    }
//
//
//}
