UpdateStarter.java :  » Client » catdroid-repository » org » catdroid » apps » Android Open Source

Android Open Source » Client » catdroid repository 
catdroid repository » org » catdroid » apps » UpdateStarter.java
package org.catdroid.apps;

import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.SystemClock;
import android.preference.PreferenceManager;

public class UpdateStarter extends Activity {
  public static final String TAG = "UpdateStarter";

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    startUpdater(this);
    finish();
    super.onCreate(savedInstanceState);
  }
  
  public static void startUpdater(Context context) {
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
    boolean autoupdate = prefs.getBoolean("autoupdate", false);
    int freq = Integer.parseInt(prefs.getString("frecuencia", "24"));

    if(autoupdate) {
      AlarmManager mgr=(AlarmManager)context.getSystemService(ALARM_SERVICE);
      Intent i=new Intent(context, AutoUpdate.class);
      PendingIntent pi=PendingIntent.getBroadcast(context, 0, i, 0);
      
      long interval = freq * AlarmManager.INTERVAL_HOUR;

      if(System.currentTimeMillis() - prefs.getLong("lastUpdate", 0) > interval) {
        mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), interval, pi);
      }
      else {
        mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + interval, interval, pi);
      }
    }
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.