Android Open Source - alogger Device Wake






From Project

Back to project page alogger.

License

The source code is released under:

GNU General Public License

If you think the Android project alogger listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.jug6ernaut.android.utilites;
//from   w w w. j a  va2s  .com
import android.app.Application;
import android.app.KeyguardManager;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Handler;
import android.os.PowerManager;

/**
 * Created by williamwebb on 11/2/13.
 */
public class DeviceWake {

    KeyguardManager km;
    PowerManager pm;

    private KeyguardManager.KeyguardLock myKeyLock;
    private PowerManager.WakeLock myWakeLock;

    private boolean keyGuardState;

    public DeviceWake(Application context){
        km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
        pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
    }

    public void release(){
        if (myWakeLock.isHeld()){
            myWakeLock.release();
            if(keyGuardState)
                myKeyLock.reenableKeyguard();
        }
    }

    public DeviceWake attain(){
        if(myKeyLock==null)
            myKeyLock = km.newKeyguardLock("MyKeyguardLock");

        keyGuardState = km.isKeyguardLocked();

        if(keyGuardState)
            myKeyLock.disableKeyguard();

        if(myWakeLock==null)
            myWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP
                | PowerManager.ON_AFTER_RELEASE, "MyWakeLock");
        myWakeLock.acquire();

        return this;
    }

    public void setTimeout(long milli){
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                release();
            }
        }, milli);
    }

    public static void checkManifest(Context context) {
        PackageManager packageManager = context.getPackageManager();
        String packageName = context.getPackageName();
        String permissionName = packageName + ".permission.C2D_MESSAGE";
        // check permission
        try {
            packageManager.getPermissionInfo(permissionName,
                    PackageManager.GET_PERMISSIONS);
        } catch (PackageManager.NameNotFoundException e) {
            throw new IllegalStateException(
                    "Application does not define permission " + permissionName);
        }


        // check receivers
//        android.content.pm.PackageInfo receiversInfo;
//        try {
//            receiversInfo = packageManager.getPackageInfo(
//                    packageName, PackageManager.GET_RECEIVERS);
//        } catch (PackageManager.NameNotFoundException e) {
//            throw new IllegalStateException(
//                    "Could not get receivers for package " + packageName);
//        }
//        ActivityInfo[] receivers = receiversInfo.receivers;
//        if (receivers == null || receivers.length == 0) {
//            throw new IllegalStateException("No receiver for package " +
//                    packageName);
//        }
//        if (Log.isLoggable(TAG, Log.VERBOSE)) {
//            Log.v(TAG, "number of receivers for " + packageName + ": " +
//                    receivers.length);
//        }
//        Set<String> allowedReceivers = new HashSet<String>();
//        for (ActivityInfo receiver : receivers) {
//            if (GCMConstants.PERMISSION_GCM_INTENTS.equals(
//                    receiver.permission)) {
//                allowedReceivers.add(receiver.name);
//            }
//        }
//        if (allowedReceivers.isEmpty()) {
//            throw new IllegalStateException("No receiver allowed to receive " +
//                    GCMConstants.PERMISSION_GCM_INTENTS);
//        }

    }
}




Java Source Code List

.FileDialog.java
com.jug6ernaut.android.actiondialog.ActionDialog.java
com.jug6ernaut.android.logging.ALogger.java
com.jug6ernaut.android.logging.BriefLogFormatter.java
com.jug6ernaut.android.logging.DebugLogger.java
com.jug6ernaut.android.logging.JSONFormatter.java
com.jug6ernaut.android.logging.JSONLogReader.java
com.jug6ernaut.android.logging.JSONLogWriter.java
com.jug6ernaut.android.logging.LogAdapter.java
com.jug6ernaut.android.logging.LogEntry.java
com.jug6ernaut.android.logging.LogFragment.java
com.jug6ernaut.android.logging.Logger.java
com.jug6ernaut.android.logging.ProdLogger.java
com.jug6ernaut.android.utilites.AnalysisDir.java
com.jug6ernaut.android.utilites.Assets.java
com.jug6ernaut.android.utilites.BaseAsyncTask.java
com.jug6ernaut.android.utilites.ByteUtils.java
com.jug6ernaut.android.utilites.CopyUtils.java
com.jug6ernaut.android.utilites.DeviceWake.java
com.jug6ernaut.android.utilites.DisplayUtils.java
com.jug6ernaut.android.utilites.Eula.java
com.jug6ernaut.android.utilites.FileDownloader.java
com.jug6ernaut.android.utilites.ImagesUtils.java
com.jug6ernaut.android.utilites.PInfo.java
com.jug6ernaut.android.utilites.PackageInfo.java
com.jug6ernaut.android.utilites.ReflectionUtils.java
com.jug6ernaut.android.utilites.SecurePreferences.java
com.jug6ernaut.android.utilites.SeekBarPreference.java
com.jug6ernaut.android.utilites.SimpleCrypto.java
com.jug6ernaut.android.utilites.SuperUser.java
com.jug6ernaut.android.utilites.UserUtils.java
com.jug6ernaut.android.utilites.WakelockHelper.java
com.jug6ernaut.android.utilites.lazyloader.FileCache.java
com.jug6ernaut.android.utilites.lazyloader.ImageLoader.java
com.jug6ernaut.android.utilites.lazyloader.MemoryCache.java
com.jug6ernaut.android.utilites.lazyloader.Utils.java
com.jug6ernaut.android.utilites.time.Preconditions.java
com.jug6ernaut.android.utilites.time.Stopwatch.java
com.jug6ernaut.android.utilites.time.Ticker.java
com.jug6ernaut.android.utilites.time.TimeUtils.java
com.jug6ernaut.billing.Base64DecoderException.java
com.jug6ernaut.billing.Base64.java
com.jug6ernaut.billing.IabException.java
com.jug6ernaut.billing.IabHelper.java
com.jug6ernaut.billing.IabResult.java
com.jug6ernaut.billing.Inventory.java
com.jug6ernaut.billing.Purchase.java
com.jug6ernaut.billing.Security.java
com.jug6ernaut.billing.SkuDetails.java