Example usage for android.os PowerManager PARTIAL_WAKE_LOCK

List of usage examples for android.os PowerManager PARTIAL_WAKE_LOCK

Introduction

In this page you can find the example usage for android.os PowerManager PARTIAL_WAKE_LOCK.

Prototype

int PARTIAL_WAKE_LOCK

To view the source code for android.os PowerManager PARTIAL_WAKE_LOCK.

Click Source Link

Document

Wake lock level: Ensures that the CPU is running; the screen and keyboard backlight will be allowed to go off.

Usage

From source file:com.elixsr.portforwarder.forwarding.ForwardingService.java

@Override
public void onCreate() {
    super.onCreate();

    /*/*from   w w  w.j  av  a  2  s  .c  o m*/
    Sourced from: https://developer.android.com/intl/ja/training/scheduling/wakelock.html
     */
    PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
    wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, PORT_FORWARD_SERVICE_WAKE_LOCK_TAG);
    wakeLock.acquire();

    tracker = ((FwdApplication) this.getApplication()).getDefaultTracker();
}

From source file:com.mishiranu.dashchan.content.service.PostingService.java

@Override
public void onCreate() {
    super.onCreate();
    notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
    wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "PostingWakeLock");
    wakeLock.setReferenceCounted(false);
    notificationsWorker = new Thread(this, "PostingServiceNotificationThread");
    notificationsWorker.start();/* w  w w .ja  va 2s.  c o  m*/
}

From source file:com.tgx.tina.android.plugin.downloader.DownloadThread.java

/**
 * Executes the download in a separate thread
 *///from www . j av  a2  s .  com
public void run() {
    Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);

    int finalStatus = GlobalDownload.STATUS_UNKNOWN_ERROR;
    boolean countRetry = false;
    int retryAfter = 0;
    int redirectCount = mInfo.mRedirectCount;
    String newUri = null;
    boolean gotData = false;
    String filename = null;
    String mimeType = sanitizeMimeType(mInfo.mMimeType);
    FileOutputStream stream = null;
    DefaultHttpClient client = null;
    PowerManager.WakeLock wakeLock = null;
    Uri contentUri = Uri.parse(GlobalDownload.CONTENT_URI + "/" + mInfo.mId);

    try {
        boolean continuingDownload = false;
        String headerAcceptRanges = null;
        String headerContentDisposition = null;
        String headerContentLength = null;
        String headerContentLocation = null;
        String headerETag = null;
        String headerTransferEncoding = null;

        byte data[] = new byte[Constants.BUFFER_SIZE];

        int bytesSoFar = 0;

        PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
        wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, Constants.TAG);
        wakeLock.acquire();

        filename = mInfo.mFileName;
        if (filename != null) {
            if (!Helpers.isFilenameValid(filename)) {
                finalStatus = GlobalDownload.STATUS_FILE_ERROR;
                notifyDownloadCompleted(finalStatus, false, 0, 0, false, filename, null, mInfo.mMimeType);
                return;
            }
            // We're resuming a download that got interrupted
            File f = new File(filename);
            if (f.exists()) {
                long fileLength = f.length();
                if (fileLength == 0) {
                    // The download hadn't actually started, we can restart from scratch
                    f.delete();
                    filename = null;
                } else if (mInfo.mETag == null && !mInfo.mNoIntegrity) {
                    // Tough luck, that's not a resumable download
                    //#debug
                    base.tina.core.log.LogPrinter.d(Constants.TAG,
                            "can't resume interrupted non-resumable download");
                    f.delete();
                    finalStatus = GlobalDownload.STATUS_PRECONDITION_FAILED;
                    notifyDownloadCompleted(finalStatus, false, 0, 0, false, filename, null, mInfo.mMimeType);
                    return;
                } else {
                    // All right, we'll be able to resume this download
                    stream = new FileOutputStream(filename, true);
                    bytesSoFar = (int) fileLength;
                    if (mInfo.mTotalBytes != -1) {
                        headerContentLength = Integer.toString(mInfo.mTotalBytes);
                    }
                    headerETag = mInfo.mETag;
                    continuingDownload = true;
                }
            }
        }

        int bytesNotified = bytesSoFar;
        // starting with MIN_VALUE means that the first write will commit
        //     progress to the database
        long timeLastNotification = 0;

        client = newHttpClient(userAgent());
        /*
         * This loop is run once for every individual HTTP request that gets
         * sent. The very first HTTP request is a "virgin" request, while
         * every subsequent request is done with the original ETag and a
         * byte-range.
         */
        http_request_loop: while (true) {
            // Prepares the request and fires it.
            HttpGet request = new HttpGet(mInfo.mUri);

            //#debug verbose
            base.tina.core.log.LogPrinter.v(Constants.TAG, "initiating download for " + mInfo.mUri);

            if (mInfo.mCookies != null) {
                request.addHeader("Cookie", mInfo.mCookies);
            }
            if (mInfo.mReferer != null) {
                request.addHeader("Referer", mInfo.mReferer);
            }
            if (continuingDownload) {
                if (headerETag != null) {
                    request.addHeader("If-Match", headerETag);
                }
                request.addHeader("Range", "bytes=" + bytesSoFar + "-");
            }

            HttpResponse response;
            try {
                response = client.execute(request);
            } catch (IllegalArgumentException ex) {
                //#debug
                base.tina.core.log.LogPrinter.d(Constants.TAG,
                        "Arg exception trying to execute request for " + mInfo.mId + " : " + ex);
                finalStatus = GlobalDownload.STATUS_BAD_REQUEST;
                request.abort();
                break http_request_loop;
            } catch (IOException ex) {
                //#ifdef debug
                //#if debug<=2
                if (Helpers.isNetworkAvailable(mContext)) {
                    base.tina.core.log.LogPrinter.i(Constants.TAG, "Execute Failed " + mInfo.mId + ", Net Up");
                } else {
                    base.tina.core.log.LogPrinter.i(Constants.TAG,
                            "Execute Failed " + mInfo.mId + ", Net Down");
                }
                //#endif
                //#endif

                if (!Helpers.isNetworkAvailable(mContext)) {
                    finalStatus = GlobalDownload.STATUS_RUNNING_PAUSED;
                } else if (mInfo.mNumFailed < Constants.MAX_RETRIES) {
                    finalStatus = GlobalDownload.STATUS_RUNNING_PAUSED;
                    countRetry = true;
                } else {
                    //#debug
                    base.tina.core.log.LogPrinter.d(Constants.TAG,
                            "IOException trying to execute request for " + mInfo.mId + " : " + ex);
                    finalStatus = GlobalDownload.STATUS_HTTP_DATA_ERROR;
                }
                request.abort();
                break http_request_loop;
            }

            int statusCode = response.getStatusLine().getStatusCode();
            if (statusCode == 503 && mInfo.mNumFailed < Constants.MAX_RETRIES) {
                //#debug verbose
                base.tina.core.log.LogPrinter.v(Constants.TAG, "got HTTP response code 503");
                finalStatus = GlobalDownload.STATUS_RUNNING_PAUSED;
                countRetry = true;
                Header header = response.getFirstHeader("Retry-After");
                if (header != null) {
                    try {
                        //#debug verbose
                        base.tina.core.log.LogPrinter.v(Constants.TAG, "Retry-After :" + header.getValue());
                        retryAfter = Integer.parseInt(header.getValue());
                        if (retryAfter < 0) {
                            retryAfter = 0;
                        } else {
                            if (retryAfter < Constants.MIN_RETRY_AFTER) {
                                retryAfter = Constants.MIN_RETRY_AFTER;
                            } else if (retryAfter > Constants.MAX_RETRY_AFTER) {
                                retryAfter = Constants.MAX_RETRY_AFTER;
                            }
                            retryAfter += Helpers.sRandom.nextInt(Constants.MIN_RETRY_AFTER + 1);
                            retryAfter *= 1000;
                        }
                    } catch (NumberFormatException ex) {
                        // ignored - retryAfter stays 0 in this case.
                    }
                }
                request.abort();
                break http_request_loop;
            }
            if (statusCode == 301 || statusCode == 302 || statusCode == 303 || statusCode == 307) {
                //#debug verbose
                base.tina.core.log.LogPrinter.v(Constants.TAG, "got HTTP redirect " + statusCode);
                if (redirectCount >= Constants.MAX_REDIRECTS) {
                    //#debug
                    base.tina.core.log.LogPrinter.d(Constants.TAG,
                            "too many redirects for download " + mInfo.mId);
                    finalStatus = GlobalDownload.STATUS_TOO_MANY_REDIRECTS;
                    request.abort();
                    break http_request_loop;
                }
                Header header = response.getFirstHeader("Location");
                if (header != null) {
                    //#debug verbose
                    base.tina.core.log.LogPrinter.v(Constants.TAG, "Location :" + header.getValue());
                    try {
                        newUri = new URI(mInfo.mUri).resolve(new URI(header.getValue())).toString();
                    } catch (URISyntaxException ex) {
                        //#debug
                        base.tina.core.log.LogPrinter.d(Constants.TAG,
                                "Couldn't resolve redirect URI for download " + mInfo.mId);
                        finalStatus = GlobalDownload.STATUS_BAD_REQUEST;
                        request.abort();
                        break http_request_loop;
                    }
                    ++redirectCount;
                    finalStatus = GlobalDownload.STATUS_RUNNING_PAUSED;
                    request.abort();
                    break http_request_loop;
                }
            }
            if ((!continuingDownload && statusCode != GlobalDownload.STATUS_SUCCESS)
                    || (continuingDownload && statusCode != 206)) {
                //#debug
                base.tina.core.log.LogPrinter.d(Constants.TAG,
                        "http error " + statusCode + " for download " + mInfo.mId);
                if (GlobalDownload.isStatusError(statusCode)) {
                    finalStatus = statusCode;
                } else if (statusCode >= 300 && statusCode < 400) {
                    finalStatus = GlobalDownload.STATUS_UNHANDLED_REDIRECT;
                } else if (continuingDownload && statusCode == GlobalDownload.STATUS_SUCCESS) {
                    finalStatus = GlobalDownload.STATUS_PRECONDITION_FAILED;
                } else {
                    finalStatus = GlobalDownload.STATUS_UNHANDLED_HTTP_CODE;
                }
                request.abort();
                break http_request_loop;
            } else {
                // Handles the response, saves the file
                //#debug verbose
                base.tina.core.log.LogPrinter.v(Constants.TAG, "received response for " + mInfo.mUri);

                if (!continuingDownload) {
                    Header header = response.getFirstHeader("Accept-Ranges");
                    if (header != null) {
                        headerAcceptRanges = header.getValue();
                    }
                    header = response.getFirstHeader("Content-Disposition");
                    if (header != null) {
                        headerContentDisposition = header.getValue();
                    }
                    header = response.getFirstHeader("Content-Location");
                    if (header != null) {
                        headerContentLocation = header.getValue();
                    }
                    if (mimeType == null) {
                        header = response.getFirstHeader("Content-Type");
                        if (header != null) {
                            mimeType = sanitizeMimeType(header.getValue());
                        }
                    }
                    header = response.getFirstHeader("ETag");
                    if (header != null) {
                        headerETag = header.getValue();
                    }
                    header = response.getFirstHeader("Transfer-Encoding");
                    if (header != null) {
                        headerTransferEncoding = header.getValue();
                    }
                    if (headerTransferEncoding == null) {
                        header = response.getFirstHeader("Content-Length");
                        if (header != null) {
                            headerContentLength = header.getValue();
                        }
                    } else {
                        // Ignore content-length with transfer-encoding - 2616 4.4 3
                        //#debug verbose
                        base.tina.core.log.LogPrinter.v(Constants.TAG,
                                "ignoring content-length because of xfer-encoding");
                    }
                    //#ifdef debug
                    //#if debug<=2
                    base.tina.core.log.LogPrinter.v(Constants.TAG, "Accept-Ranges: " + headerAcceptRanges);
                    base.tina.core.log.LogPrinter.v(Constants.TAG,
                            "Content-Disposition: " + headerContentDisposition);
                    base.tina.core.log.LogPrinter.v(Constants.TAG, "Content-Length: " + headerContentLength);
                    base.tina.core.log.LogPrinter.v(Constants.TAG,
                            "Content-Location: " + headerContentLocation);
                    base.tina.core.log.LogPrinter.v(Constants.TAG, "Content-Type: " + mimeType);
                    base.tina.core.log.LogPrinter.v(Constants.TAG, "ETag: " + headerETag);
                    base.tina.core.log.LogPrinter.v(Constants.TAG,
                            "Transfer-Encoding: " + headerTransferEncoding);
                    //#endif
                    //#endif

                    if (!mInfo.mNoIntegrity && headerContentLength == null && (headerTransferEncoding == null
                            || !headerTransferEncoding.equalsIgnoreCase("chunked"))) {
                        //#debug
                        base.tina.core.log.LogPrinter.d(Constants.TAG,
                                "can't know size of download, giving up");
                        finalStatus = GlobalDownload.STATUS_LENGTH_REQUIRED;
                        request.abort();
                        break http_request_loop;
                    }

                    DownloadFileInfo fileInfo = Helpers.generateSaveFile(mContext, mInfo.mUri, mInfo.mHint,
                            headerContentDisposition, headerContentLocation, mimeType, mInfo.mDestination,
                            (headerContentLength != null) ? Integer.parseInt(headerContentLength) : 0);
                    if (fileInfo.mFileName == null) {
                        finalStatus = fileInfo.mStatus;
                        request.abort();
                        break http_request_loop;
                    }
                    filename = fileInfo.mFileName;
                    stream = fileInfo.mStream;
                    //#debug verbose
                    base.tina.core.log.LogPrinter.v(Constants.TAG, "writing " + mInfo.mUri + " to " + filename);

                    ContentValues values = new ContentValues();
                    values.put(GlobalDownload._DATA, filename);
                    if (headerETag != null) {
                        values.put(Constants.ETAG, headerETag);
                    }
                    if (mimeType != null) {
                        values.put(GlobalDownload.COLUMN_MIME_TYPE, mimeType);
                    }
                    int contentLength = -1;
                    if (headerContentLength != null) {
                        contentLength = Integer.parseInt(headerContentLength);
                    }
                    values.put(GlobalDownload.COLUMN_TOTAL_BYTES, contentLength);
                    mContext.getContentResolver().update(contentUri, values, null, null);
                }

                InputStream entityStream;
                try {
                    entityStream = response.getEntity().getContent();
                } catch (IOException ex) {
                    //#ifdef debug
                    //#if debug<=2
                    if (Helpers.isNetworkAvailable(mContext)) {
                        base.tina.core.log.LogPrinter.i(Constants.TAG, "Get Failed " + mInfo.mId + ", Net Up");
                    } else {
                        base.tina.core.log.LogPrinter.i(Constants.TAG,
                                "Get Failed " + mInfo.mId + ", Net Down");
                    }
                    //#endif
                    //#endif
                    if (!Helpers.isNetworkAvailable(mContext)) {
                        finalStatus = GlobalDownload.STATUS_RUNNING_PAUSED;
                    } else if (mInfo.mNumFailed < Constants.MAX_RETRIES) {
                        finalStatus = GlobalDownload.STATUS_RUNNING_PAUSED;
                        countRetry = true;
                    } else {
                        //#debug
                        base.tina.core.log.LogPrinter.d(Constants.TAG,
                                "IOException getting entity for download " + mInfo.mId + " : " + ex);
                        finalStatus = GlobalDownload.STATUS_HTTP_DATA_ERROR;
                    }
                    request.abort();
                    break http_request_loop;
                }
                for (;;) {
                    int bytesRead;
                    try {
                        bytesRead = entityStream.read(data);
                    } catch (IOException ex) {
                        //#ifdef debug
                        //#if debug<=2
                        if (Helpers.isNetworkAvailable(mContext)) {
                            base.tina.core.log.LogPrinter.i(Constants.TAG,
                                    "Read Failed " + mInfo.mId + ", Net Up");
                        } else {
                            base.tina.core.log.LogPrinter.i(Constants.TAG,
                                    "Read Failed " + mInfo.mId + ", Net Down");
                        }
                        //#endif
                        //#endif

                        ContentValues values = new ContentValues();
                        values.put(GlobalDownload.COLUMN_CURRENT_BYTES, bytesSoFar);
                        mContext.getContentResolver().update(contentUri, values, null, null);
                        if (!mInfo.mNoIntegrity && headerETag == null) {
                            //#debug
                            base.tina.core.log.LogPrinter.d(Constants.TAG,
                                    "download IOException for download " + mInfo.mId + " : " + ex);
                            finalStatus = GlobalDownload.STATUS_PRECONDITION_FAILED;
                        } else if (!Helpers.isNetworkAvailable(mContext)) {
                            finalStatus = GlobalDownload.STATUS_RUNNING_PAUSED;
                        } else if (mInfo.mNumFailed < Constants.MAX_RETRIES) {
                            finalStatus = GlobalDownload.STATUS_RUNNING_PAUSED;
                            countRetry = true;
                        } else {
                            //#debug
                            base.tina.core.log.LogPrinter.d(Constants.TAG,
                                    "download IOException for download " + mInfo.mId + " : " + ex);
                            finalStatus = GlobalDownload.STATUS_HTTP_DATA_ERROR;
                        }
                        request.abort();
                        break http_request_loop;
                    }
                    if (bytesRead == -1) { // success
                        ContentValues values = new ContentValues();
                        values.put(GlobalDownload.COLUMN_CURRENT_BYTES, bytesSoFar);
                        if (headerContentLength == null) {
                            values.put(GlobalDownload.COLUMN_TOTAL_BYTES, bytesSoFar);
                        }
                        mContext.getContentResolver().update(contentUri, values, null, null);
                        if ((headerContentLength != null)
                                && (bytesSoFar != Integer.parseInt(headerContentLength))) {
                            if (!mInfo.mNoIntegrity && headerETag == null) {
                                //#debug
                                base.tina.core.log.LogPrinter.d(Constants.TAG,
                                        "mismatched content length for " + mInfo.mId);

                                finalStatus = GlobalDownload.STATUS_LENGTH_REQUIRED;
                            } else if (!Helpers.isNetworkAvailable(mContext)) {
                                finalStatus = GlobalDownload.STATUS_RUNNING_PAUSED;
                            } else if (mInfo.mNumFailed < Constants.MAX_RETRIES) {
                                finalStatus = GlobalDownload.STATUS_RUNNING_PAUSED;
                                countRetry = true;
                            } else {
                                //#debug
                                base.tina.core.log.LogPrinter.d(Constants.TAG,
                                        "closed socket for download " + mInfo.mId);

                                finalStatus = GlobalDownload.STATUS_HTTP_DATA_ERROR;
                            }
                            break http_request_loop;
                        }
                        break;
                    }
                    gotData = true;
                    for (;;) {
                        try {
                            if (stream == null) {
                                stream = new FileOutputStream(filename, true);
                            }
                            stream.write(data, 0, bytesRead);
                            break;
                        } catch (IOException ex) {
                            finalStatus = GlobalDownload.STATUS_FILE_ERROR;
                            break http_request_loop;
                        }
                    }
                    bytesSoFar += bytesRead;
                    long now = System.currentTimeMillis();
                    if (bytesSoFar - bytesNotified > Constants.MIN_PROGRESS_STEP
                            && now - timeLastNotification > Constants.MIN_PROGRESS_TIME) {
                        ContentValues values = new ContentValues();
                        values.put(GlobalDownload.COLUMN_CURRENT_BYTES, bytesSoFar);
                        mContext.getContentResolver().update(contentUri, values, null, null);
                        bytesNotified = bytesSoFar;
                        timeLastNotification = now;
                    }

                    //#debug verbose
                    base.tina.core.log.LogPrinter.v(Constants.TAG,
                            "downloaded " + bytesSoFar + " for " + mInfo.mUri);

                    synchronized (mInfo) {
                        if (mInfo.mControl == GlobalDownload.CONTROL_PAUSED) {
                            //#debug verbose
                            base.tina.core.log.LogPrinter.v(Constants.TAG, "paused " + mInfo.mUri);

                            finalStatus = GlobalDownload.STATUS_RUNNING_PAUSED;
                            request.abort();
                            break http_request_loop;
                        }
                    }
                    if (mInfo.mStatus == GlobalDownload.STATUS_CANCELED) {
                        //#debug
                        base.tina.core.log.LogPrinter.d(Constants.TAG, "canceled id " + mInfo.mId);

                        finalStatus = GlobalDownload.STATUS_CANCELED;
                        break http_request_loop;
                    }
                }
                //#debug verbose
                base.tina.core.log.LogPrinter.v(Constants.TAG, "download completed for " + mInfo.mUri);

                finalStatus = GlobalDownload.STATUS_SUCCESS;
            }
            break;
        }
    } catch (FileNotFoundException ex) {
        //#debug
        base.tina.core.log.LogPrinter.d(Constants.TAG, "FileNotFoundException for " + filename + " : " + ex);

        finalStatus = GlobalDownload.STATUS_FILE_ERROR;
        // falls through to the code that reports an error
    } catch (RuntimeException ex) {
        //sometimes the socket code throws unchecked exceptions
        //#debug
        base.tina.core.log.LogPrinter.d(Constants.TAG, "Exception for id " + mInfo.mId, ex);

        finalStatus = GlobalDownload.STATUS_UNKNOWN_ERROR;
        // falls through to the code that reports an error
    } finally {
        mInfo.mHasActiveThread = false;
        if (wakeLock != null) {
            wakeLock.release();
            wakeLock = null;
        }
        if (client != null) {
            client.getConnectionManager().shutdown();//???
            client = null;
        }
        try {
            // close the file
            if (stream != null) {
                stream.close();
            }
        } catch (IOException ex) {
            //#debug verbose
            base.tina.core.log.LogPrinter.v(Constants.TAG,
                    "exception when closing the file after download : " + ex);

            // nothing can really be done if the file can't be closed
        }
        if (filename != null) {
            // if the download wasn't successful, delete the file
            if (GlobalDownload.isStatusError(finalStatus)) {
                new File(filename).delete();
                filename = null;
            } else if (GlobalDownload.isStatusSuccess(finalStatus)) {
                // make sure the file is readable
                //                    FileUtils.setPermissions(filename, 0644, -1, -1);//

                // Sync to storage after completion
                try {
                    new FileOutputStream(filename, true).getFD().sync();
                } catch (FileNotFoundException ex) {
                    //#debug warn
                    base.tina.core.log.LogPrinter.w(Constants.TAG, "file " + filename + " not found: " + ex);
                } catch (SyncFailedException ex) {
                    //#debug warn
                    base.tina.core.log.LogPrinter.w(Constants.TAG, "file " + filename + " sync failed: " + ex);
                } catch (IOException ex) {
                    //#debug warn
                    base.tina.core.log.LogPrinter.w(Constants.TAG,
                            "IOException trying to sync " + filename + ": " + ex);
                } catch (RuntimeException ex) {
                    //#debug warn
                    base.tina.core.log.LogPrinter.w(Constants.TAG, "exception while syncing file: ", ex);
                }
            }
        }
        notifyDownloadCompleted(finalStatus, countRetry, retryAfter, redirectCount, gotData, filename, newUri,
                mimeType);
    }
}

From source file:com.z3r0byte.magistify.Services.BackgroundService.java

@SuppressLint("InvalidWakeLockTag")
@Override//from   w  w  w . j a va2s  .c  o  m
public void onReceive(final Context context, Intent intent) {
    PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
    wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
    wakeLock.acquire(15 * 1000);

    //Bundle extras = intent.getExtras();

    mGson = new Gson();
    calendarDB = new CalendarDB(context);
    scheduleChangeDB = new ScheduleChangeDB(context);
    gradesdb = new NewGradesDB(context);
    homeworkDB = new HomeworkDB(context);

    this.context = context;
    configUtil = new ConfigUtil(context);
    final User user = mGson.fromJson(configUtil.getString("User"), User.class);
    final School school = mGson.fromJson(configUtil.getString("School"), School.class);

    new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                manageSession(user, school);
                if (configUtil.getBoolean("silent_enabled") || configUtil.getBoolean("appointment_enabled")
                        || configUtil.getBoolean("new_homework_notification")) {
                    getAppointments();
                }

                if (configUtil.getBoolean("appointment_enabled")) {
                    appointmentNotification();
                }

                if (configUtil.getBoolean("silent_enabled")) {
                    autoSilent();
                }

                if (configUtil.getBoolean("new_grade_enabled")) {
                    newGradeNotification();
                }

                if (configUtil.getBoolean("notificationOnNewChanges")) {
                    newScheduleChangeNotification();
                }

                if (configUtil.getBoolean("notificationOnChangedLesson")) {
                    nextAppointmentChangedNotification();
                }

                if (configUtil.getBoolean("unfinished_homework_notification")) {
                    unFinishedHomeworkNotification();
                }

                if (configUtil.getBoolean("new_homework_notification")) {
                    newHomeworkNotification();
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                Log.d(TAG, "onReceive: Cleaning up and releasing wakelock!");
                if (wakeLock.isHeld())
                    wakeLock.release();
                calendarDB.close();
                scheduleChangeDB.close();
                gradesdb.close();
            }
        }
    }).start();
}

From source file:org.jonblack.bluetrack.activities.LiveTrackingFragment.java

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    Log.d(TAG, "onActivityCreated");

    super.onActivityCreated(savedInstanceState);

    PowerManager pm = (PowerManager) getActivity().getSystemService(Context.POWER_SERVICE);
    wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Bluetrack");

    // Restore state
    if (savedInstanceState != null) {
        mSessionId = savedInstanceState.getLong("sessionId");
        mTracking = savedInstanceState.getBoolean("tracking");

        Log.v(TAG, String.format("Restoring state: mSessionId=%d mTracking=%s", mSessionId, mTracking));

        if (mTracking) {
            // This should get the loader that was already created.
            getLoaderManager().initLoader(0, null, this);
        }/*ww w  .j  a  v  a  2 s.c o m*/
    }

    // Register broadcast receiver for bluetooth status changes
    getActivity().registerReceiver(this.mBtStateChangedReceiver,
            new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED));

    // Configure the ListView adapter, which will connect to the database.
    mAdapter = new LiveTrackingCursorAdapter(getActivity(), null, 0);
    setListAdapter(mAdapter);
}

From source file:dk.dr.radio.afspilning.Afspiller.java

    tMediaPlayerLytter(MediaPlayerWrapper mediaPlayer, MediaPlayerLytter lytter) {
  mediaPlayer.setMediaPlayerLytter(lytter);
  if (lytter != null) {
    // http://developer.android.com/guide/topics/media/mediaplayer.html#wakelocks
    if (App.prefs.getBoolean("cpuls", true))
      mediaPlayer.setWakeMode(App.instans,PowerManager.PARTIAL_WAKE_LOCK);
  }//from   w  ww.  j  a  v a 2s. c o m
}

From source file:de.qspool.clementineremote.backend.ClementinePlayerConnection.java

public void run() {
    // Start the thread
    mNotificationManager = (NotificationManager) App.mApp.getSystemService(Context.NOTIFICATION_SERVICE);

    Looper.prepare();/*  ww  w  .j a v a2 s  .  co  m*/
    mHandler = new ClementineConnectionHandler(this);

    mPebble = new Pebble();

    // Get a Wakelock Object
    PowerManager pm = (PowerManager) App.mApp.getSystemService(Context.POWER_SERVICE);
    mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Clementine");

    Resources res = App.mApp.getResources();
    mNotificationHeight = (int) res.getDimension(android.R.dimen.notification_large_icon_height);
    mNotificationWidth = (int) res.getDimension(android.R.dimen.notification_large_icon_width);

    mAudioManager = (AudioManager) App.mApp.getSystemService(Context.AUDIO_SERVICE);
    mClementineMediaButtonEventReceiver = new ComponentName(App.mApp.getPackageName(),
            ClementineMediaButtonEventReceiver.class.getName());

    mMediaButtonBroadcastReceiver = new ClementineMediaButtonEventReceiver();

    fireOnConnectionReady();

    Looper.loop();
}

From source file:org.restcomm.app.utillib.Reporters.WebReporter.WebReporter.java

public WebReporter(Context context) {
    mContext = context;//from w w  w  . jav  a 2  s .co m

    //Retrieve api key if it exists
    mApiKey = Global.getApiKey(mContext);
    //Retrieve the host from the strings.xml

    mHost = Global.getApiUrl(context);
    mStaticAssetURL = Global.getString(context, "MMC_STATIC_ASSET_URL");

    //mRequestQueue = new ConcurrentLinkedQueue<Request>();

    mFlushQueueWakeLock = ((PowerManager) mContext.getSystemService(Context.POWER_SERVICE))
            .newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
    mFlushQueueWakeLock.setReferenceCounted(false);
}

From source file:pandroid.agent.PandroidAgentListener.java

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    WakeLock wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock");
    wakeLock.acquire();//from   ww w .  jav a  2  s.c  om
    new loadConfThenContinueAsyncTask().execute();

    wakeLock.release();

    return START_NOT_STICKY;
}

From source file:fr.bmartel.android.tictactoe.gcm.MyGcmListenerService.java

/**
 * Called when message is received./* ww w  . java2  s .c o m*/
 *
 * @param from SenderID of the sender.
 * @param data Data bundle containing message data as key/value pairs.
 *             For Set of keys use data.keySet().
 */
// [START receive_message]
@Override
public void onMessageReceived(String from, Bundle data) {

    String message = data.getString("message");

    if (from.startsWith("/topics/" + GameSingleton.DEVICE_ID)) {
        Log.d(TAG, "Message: " + message);

        try {

            JSONObject object = new JSONObject(message);

            ArrayList<String> eventItem = new ArrayList<>();
            eventItem.add(object.toString());

            broadcastUpdateStringList(BroadcastFilters.EVENT_MESSAGE, eventItem);

            if (!GameSingleton.activityForeground) {

                if (object.has(RequestConstants.DEVICE_MESSAGE_TOPIC)
                        && object.has(RequestConstants.DEVICE_MESSAGE_CHALLENGER_ID)
                        && object.has(RequestConstants.DEVICE_MESSAGE_CHALLENGER_NAME)) {

                    GameMessageTopic topic = GameMessageTopic
                            .getTopic(object.getInt(RequestConstants.DEVICE_MESSAGE_TOPIC));

                    ChallengeMessage challengeMessage = new ChallengeMessage(topic,
                            object.getString(RequestConstants.DEVICE_MESSAGE_CHALLENGER_ID),
                            object.getString(RequestConstants.DEVICE_MESSAGE_CHALLENGER_NAME));

                    Log.i(TAG, "challenged by " + challengeMessage.getChallengerName() + " : "
                            + challengeMessage.getChallengerId());

                    Intent intent2 = new Intent(this, DeviceListActivity.class);
                    intent2.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent2,
                            PendingIntent.FLAG_ONE_SHOT);
                    Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
                    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
                            .setSmallIcon(R.mipmap.ic_launcher).setContentTitle("Fight!")
                            .setContentText("challenged by " + challengeMessage.getChallengerName())
                            .setAutoCancel(true).setSound(defaultSoundUri).setContentIntent(pendingIntent);
                    NotificationManager notificationManager = (NotificationManager) getSystemService(
                            Context.NOTIFICATION_SERVICE);
                    notificationManager.notify(new Random().nextInt(9999), notificationBuilder.build());

                    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
                    boolean isScreenOn = pm.isScreenOn();
                    if (isScreenOn == false) {
                        PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK
                                | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "MyLock");
                        wl.acquire(10000);
                        PowerManager.WakeLock wl_cpu = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
                                "MyCpuLock");
                        wl_cpu.acquire(10000);
                    }

                    GameSingleton.pendingChallengeMessage = challengeMessage;
                    GameSingleton.pendingChallenge = true;
                }
            }

        } catch (JSONException e) {
            e.printStackTrace();

        }
    }
}