AutoFindLocationService.java :  » Widget » weatherforestwidget » com » anydata » android » widget » weatherclock » Android Open Source

Android Open Source » Widget » weatherforestwidget 
weatherforestwidget » com » anydata » android » widget » weatherclock » AutoFindLocationService.java
package com.anydata.android.widget.weatherclock;

import android.app.Service;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.IBinder;
import android.os.Looper;

public class AutoFindLocationService extends Service implements Runnable{

  Thread thread = null;
  
  @Override
  public IBinder onBind(Intent arg0) {
    System.out.println("AutoFindLocationService :: onBind");
    return null;
  }

  @Override
  public void onStart(Intent intent, int startId) {
    super.onStart(intent, startId);
    System.out.println("AutoFindLocationService :: onStart");
    /*AppWidgetManager manager = AppWidgetManager.getInstance(this);

    // If requested, trigger update of all widgets
    if (ACTION_UPDATE_ALL.equals(intent.getAction())) {
      Log.d(TAG, "Requested UPDATE_ALL action");
      // AppWidgetManager manager = AppWidgetManager.getInstance(this);
      requestUpdate(manager.getAppWidgetIds(new ComponentName(this,
          WeatherForecastAppWidget.class)));
    }

    // Only start processing thread if not already running
    synchronized (sLock) {
      if (!sThreadRunning) {
        sThreadRunning = true;
        new Thread(this).start();
      }
    }*/
    if(thread == null || thread.isAlive() == false)
    {
      thread = new Thread(this);
      thread.run();
    }
    
  }
  
  @Override
  public boolean stopService(Intent intent){
    boolean b = super.stopService(intent);
    thread.destroy();
    System.out.println("AutoFindLocationService :: stopService");
    return b;
  }
  
  public void run() {
    
    SharedPreferences config = this.getApplicationContext().getSharedPreferences(ConstData.PREF_FILE_NAME, 0);
    Looper.prepare();
    while(true){
      try {
        String originalCity = config.getString(ConstData.PREFS_CITY_FIELD_Key, ConstData.PREFS_CITY_KEY_DEFAULT);
        System.out.println("originalCity: " + originalCity);
        
        Thread.sleep(10000);
        
        //TODO: auto set the current city via google api
        String newCity = "Nanjing";
        if(newCity.equalsIgnoreCase(originalCity) == false && newCity != null && newCity.length() >=1)
        {
          SharedPreferences.Editor editor = config.edit();
          editor.putString(ConstData.PREFS_CITY_FIELD_Key, newCity);
          editor.commit();
          
          String s = config.getString(ConstData.PREFS_CITY_FIELD_Key, ConstData.PREFS_CITY_KEY_DEFAULT);
          System.out.println("XXXXXXXXXXXXXXX: " + s);
        }
        
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
      System.out.println("AutoFindLocationService is running......");
    }
  }

  
}
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.