shaobin0604
3/13/2014 - 12:50 PM

领航锁屏 LockScreenUserPresentReciver.smali

领航锁屏 LockScreenUserPresentReciver.smali

<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="32" android:versionName="1.4.10" package="mobi.espier.launcher.plugin.screenlocker"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" />
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.SET_WALLPAPER" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-feature android:name="android.hardware.bluetooth" android:required="false" />
    <uses-feature android:name="android.hardware.wifi" android:required="false" />
    <application android:label="@string/elp_screenlocker_app_name" android:icon="@drawable/icon" android:name="mobi.espier.locker.LockerApp">
        <service android:name="mobi.espier.locker.LockerService" />
        <activity android:theme="@style/main_theme" android:label="@string/elp_screenlocker_app_name" android:name=".LockerMain" android:launchMode="singleTask">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:theme="@*android:style/Theme.NoTitleBar" android:name="mobi.espier.locker.settings.UnLockScreenSettings" />
        <activity android:theme="@*android:style/Theme.NoTitleBar" android:name="mobi.espier.locker.settings.RequirePasscodeActivity" />
        <activity android:theme="@*android:style/Theme.NoTitleBar" android:name="mobi.espier.locker.settings.SetPasswordLockActivity" android:screenOrientation="portrait" android:windowSoftInputMode="stateHidden" />
        <activity android:theme="@*android:style/Theme.NoTitleBar" android:name="mobi.espier.locker.settings.WallPapersSettings" />
        <activity android:theme="@*android:style/Theme.NoTitleBar" android:name="mobi.espier.locker.settings.settingcb.SlideToUnLockScreenOpenSwitchCb" />
        <activity android:name="mobi.espier.guide.Guide_Activity" android:process=":wallpaper" android:launchMode="singleTask" android:screenOrientation="portrait" />
        <activity android:theme="@style/Theme.Transparent" android:name="mobi.espier.guide.Detail_Activity" android:process=":wallpaper" android:screenOrientation="portrait" />
        <activity android:theme="@*android:style/Theme.Translucent.NoTitleBar.Fullscreen" android:name="mobi.espier.locker.AdStartActivity" />
        <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
        <service android:name="mobi.espier.locker.launcherplugin.LockerPlugin" android:exported="true">
            <intent-filter>
                <category android:name="mobi.espier.launchercommon.intent.category.PLUGIN" />
                <action android:name="mobi.espier.launchercommon.intent.action.plugin.PLUGIN" />
                <action android:name="mobi.espier.launchercommon.intent.action.plugin.SCREENLOCKERPLUGIN" />
            </intent-filter>
            <meta-data android:name="priority" android:value="5" />
            <meta-data android:name="setting_enable" android:value="true" />
            <meta-data android:name="setting_activity" android:value="LockerMain" />
            <meta-data android:name="setting_service_action" android:value="mobi.espier.launchercommon.intent.action.plugin.SCREENLOCKERPLUGIN" />
            <meta-data android:name="setting_isRequest" android:value="yes" />
        </service>
        <receiver android:name="mobi.espier.locker.launcherplugin.LockerPluginReceiver">
            <intent-filter>
                <action android:name="com.fm.lock.ReceiverBroadcastTest" />
            </intent-filter>
        </receiver>
        <receiver android:name="mobi.espier.locker.receiver.LockerBootReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
        <activity android:theme="@*android:style/Theme.Light.NoTitleBar" android:name="mobi.espier.wallpaper.LockScreenWallpaperOnlineActivity" android:screenOrientation="portrait" />
        <activity android:theme="@*android:style/Theme.NoTitleBar" android:name="mobi.espier.locker.settings.AboutUsActivity" />
        <activity android:theme="@*android:style/Theme.Translucent.NoTitleBar" android:name="mobi.espier.utils.TaskUI" android:configChanges="keyboardHidden|orientation" />
        <service android:name="mobi.espier.utils.TaskService" />
        <service android:name="mobi.espier.guide.service.apkDownLoaderService" android:process=":wallpaper" />
        <meta-data android:name="TAG_NAME" android:value="V1" />
        <activity android:theme="@*android:style/Theme.NoTitleBar" android:name="mobi.espier.locker.settings.WidgetSettings" />
        <activity android:theme="@*android:style/Theme.NoTitleBar" android:name="mobi.espier.locker.settings.LockSoundSettings" />
        <activity android:theme="@*android:style/Theme.NoTitleBar" android:name="mobi.espier.locker.settings.ChargeSoundSettings" />
        <activity android:theme="@*android:style/Theme.NoTitleBar" android:name="mobi.espier.locker.settings.VoiceSettings" />
        <activity android:theme="@*android:style/Theme.NoTitleBar" android:name="mobi.espier.wallpaper.OnlineGalleryActivity" android:process=":wallpaper" />
        <activity android:theme="@*android:style/Theme.Translucent" android:label="@string/elp_screenlocker_app_name" android:name="mobi.espier.locker.LockerHomeLauncher" android:taskAffinity="mobi.espier.locker.LockerHomeLauncher" android:excludeFromRecents="true" android:launchMode="singleInstance" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.HOME" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity android:theme="@*android:style/Theme.NoTitleBar" android:name="mobi.espier.locker.settings.CustomSildLockSettings" />
        <provider android:name="mobi.espier.locker.provider.ScreenBgUrlProvider" android:authorities="mobi.espier.launcher.plugin.screenlocker" />
        <receiver android:name="mobi.espier.locker.receiver.LockScreenUserPresentReciver">
            <intent-filter>
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>
        <meta-data android:name="ESPIER_CHANNEL" android:value="esl-google" />
    </application>
</manifest>
package mobi.espier.locker.receiver;

import android.content.*;
import mobi.espier.locker.a.d;

public class LockScreenUserPresentReciver extends BroadcastReceiver {

    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals("android.intent.action.USER_PRESENT"))
            d.h(context);
    }
}
public class LockerApp extends MultiLanguageBaseApp {
    public final void b() {
        if (mobi.espier.locker.a.b.a(getApplicationContext())) {
            c();
            mobi.espier.locker.a.b.a(true);
            startService(new Intent(getApplicationContext(), mobi / espier / locker / LockerService));
            mobi.espier.locker.d.a(getApplicationContext()).a();
            mobi.espier.locker.a.d.c(this);
        } else {
            d();
        }
        mobi.espier.locker.a.b.E(getApplicationContext());
    }
}
package mobi.espier.locker.a;
public final class d {
    public static void c(Context context) {
        if (a == null && b == null) {
            KeyguardManager keyguardmanager = (KeyguardManager) context
                    .getSystemService("keyguard");
            a = keyguardmanager;
            b = keyguardmanager.newKeyguardLock("jiao");
        }
        Log.i("ScreenLockerUtil",
                (new StringBuilder(" isOpen ")).append(c).append(" disableKeyguard inkey unlock  ")
                        .append(a.inKeyguardRestrictedInputMode()).toString());
        if (!c) {
            b.disableKeyguard();
            c = true;
        }
    }
    
    public static void h(Context context) {
        if (!mobi.espier.locker.a.b.a(context))
            return;
        if (a == null)
            a = (KeyguardManager) context.getSystemService("keyguard");
        synchronized (k) {
            if (b != null) {
                b.reenableKeyguard();
                b = null;
            }
            android.app.KeyguardManager.KeyguardLock keyguardlock = a.newKeyguardLock("jiao");
            b = keyguardlock;
            keyguardlock.disableKeyguard();
        }
    }
}