翰林优商.apk(点击下载) / HomeUtils.java


package com.baidu.idl.face.platform.ui.utils;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;

public class HomeUtils {
    private static final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";
    private static final String SYSTEM_DIALOG_REASON_KEY = "reason";
    private static final String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps";
    public static final String TAG = "HomeUtils";

    public interface HomeCallback {
        void onClickHomeKey();
    }

    public static class HomeReceiver extends BroadcastReceiver {
        private HomeCallback callback;

        public HomeReceiver(HomeCallback homeCallback) {
            this.callback = homeCallback;
        }

        public void onReceive(Context context, Intent intent) {
            String stringExtra;
            if ("android.intent.action.CLOSE_SYSTEM_DIALOGS".equals(intent.getAction()) && (stringExtra = intent.getStringExtra(HomeUtils.SYSTEM_DIALOG_REASON_KEY)) != null) {
                if (HomeUtils.SYSTEM_DIALOG_REASON_HOME_KEY.equals(stringExtra) || HomeUtils.SYSTEM_DIALOG_REASON_RECENT_APPS.equals(stringExtra)) {
                    this.callback.onClickHomeKey();
                }
            }
        }
    }

    public static BroadcastReceiver registerHomeReceiver(Context context, HomeCallback homeCallback) {
        IllegalArgumentException e;
        Exception e2;
        HomeReceiver homeReceiver = null;
        try {
            HomeReceiver homeReceiver2 = new HomeReceiver(homeCallback);
            try {
                IntentFilter intentFilter = new IntentFilter();
                intentFilter.addAction("android.intent.action.CLOSE_SYSTEM_DIALOGS");
                context.registerReceiver(homeReceiver2, intentFilter);
                return homeReceiver2;
            } catch (IllegalArgumentException e3) {
                e = e3;
                homeReceiver = homeReceiver2;
            } catch (Exception e4) {
                e2 = e4;
                homeReceiver = homeReceiver2;
                e2.printStackTrace();
                return homeReceiver;
            }
        } catch (IllegalArgumentException e5) {
            e = e5;
            e.printStackTrace();
            return homeReceiver;
        } catch (Exception e6) {
            e2 = e6;
            e2.printStackTrace();
            return homeReceiver;
        }
    }

    public static void unRegisterHomeReceiver(Context context, BroadcastReceiver broadcastReceiver) {
        if (context != null && broadcastReceiver != null) {
            try {
                context.unregisterReceiver(broadcastReceiver);
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
    }
}