/[projects]/android/EKLLauncher/src/dk/thoerup/ekllauncher/EKLLauncherActivity.java
ViewVC logotype

Diff of /android/EKLLauncher/src/dk/thoerup/ekllauncher/EKLLauncherActivity.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1625 by torben, Wed Oct 26 12:15:52 2011 UTC revision 1930 by torben, Tue Feb 26 07:19:33 2013 UTC
# Line 11  import android.net.NetworkInfo; Line 11  import android.net.NetworkInfo;
11  import android.os.Bundle;  import android.os.Bundle;
12  import android.os.Handler;  import android.os.Handler;
13  import android.os.Message;  import android.os.Message;
14    import android.os.PowerManager;
15  import android.provider.Settings;  import android.provider.Settings;
16  import android.telephony.TelephonyManager;  import android.telephony.TelephonyManager;
17  import android.text.InputType;  import android.text.InputType;
# Line 27  import android.webkit.WebStorage.QuotaUp Line 28  import android.webkit.WebStorage.QuotaUp
28  import android.webkit.WebView;  import android.webkit.WebView;
29  import android.webkit.WebViewClient;  import android.webkit.WebViewClient;
30  import android.widget.EditText;  import android.widget.EditText;
31    import android.widget.Toast;
32    
33  public class EKLLauncherActivity extends Activity {  public class EKLLauncherActivity extends Activity {
34                    
# Line 73  public class EKLLauncherActivity extends Line 75  public class EKLLauncherActivity extends
75                  public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, final JsPromptResult result) {                  public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, final JsPromptResult result) {
76                          String msg = message.trim().toLowerCase();                          String msg = message.trim().toLowerCase();
77    
78                          if (msg.equals("pda identifikation mangler")) {                          if (msg.equals("ekl identifikation mangler")) {
79                                  result.confirm(device);                                  if (device != null && device.equals("")==false) {
80                                            result.confirm(device);
81                                  timeoutHandler.sendEmptyMessageDelayed(1, 500); //efter pdaID er sendt til app'en skal vi genindlæse siden for at tvinge den til at hente data  
82                                  return true;                                          timeoutHandler.sendEmptyMessageDelayed(1, 500); //efter pdaID er sendt til app'en skal vi genindlæse siden for at tvinge den til at hente data
83                          } else if (msg.startsWith("indtast retur antal")) {                                          return true;
84                                    } else {
85                                  AlertDialog.Builder alert = new AlertDialog.Builder(EKLLauncherActivity.this);                                          //Hvis vi ikke kunne aflæse device, spørg user via en custom Input Dialog
86                                            //Dialogen kan kun tage imod tal &
87                                  //alert.setTitle("Title");                                          //når at vi får en confirm på den tvinger vi ud i en reload af siden
88                                  alert.setMessage(message);                                          
89                                            AlertDialog.Builder alert = new AlertDialog.Builder(EKLLauncherActivity.this);
90                                  // Set an EditText view to get user input  
91                                  final EditText input = new EditText(EKLLauncherActivity.this);                                          //alert.setTitle("Title");
92                                  input.setInputType(InputType.TYPE_CLASS_NUMBER);                                          alert.setMessage(message);
93                                  alert.setView(input);  
94                                            // Set an EditText view to get user input
95                                  alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {                                          final EditText input = new EditText(EKLLauncherActivity.this);
96                                          public void onClick(DialogInterface dialog, int whichButton) {                                          input.setInputType(InputType.TYPE_CLASS_NUMBER);
97                                                  result.confirm(input.getText().toString());                                          alert.setView(input);
98                                          }  
99                                  });                                          alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
100                                  alert.show();                                                  public void onClick(DialogInterface dialog, int whichButton) {
101                                                            result.confirm(input.getText().toString());
102                                  return true;                                                                                      timeoutHandler.sendEmptyMessageDelayed(1, 500);
103                                                    }
104                                            });
105                                            alert.show();
106    
107                                            return true;            
108                                            
109                                    }              
110                          } else {                          } else {
111                                  return super.onJsPrompt(view, url, message, defaultValue, result);                                  return super.onJsPrompt(view, url, message, defaultValue, result);
112                          }                                                                                                }                                                                      
113                  }                  }
   
114          }          }
115    
116          class DummyWebViewClient extends WebViewClient {                          class DummyWebViewClient extends WebViewClient {                
117          }          }
118                    
119          static final String URL = "http://omdeling.info/mobil/ekl/login.php";          static final String LOGTAG = "EklLauncher";
120            static final String URL = "http://omdeling.info/mobil_gpstrack/ekl/";
121                    
122          LocationManager locMgr;          LocationManager locMgr;
123          ConnectivityManager connMgr;          ConnectivityManager connMgr;
# Line 116  public class EKLLauncherActivity extends Line 125  public class EKLLauncherActivity extends
125          WebView web;          WebView web;
126          String device = "";          String device = "";
127                    
128            PowerManager.WakeLock wakeLock;
129                    
130            SimHandler simHandler = new SimHandler();
131                    
132      /** Called when the activity is first created. */      /** Called when the activity is first created. */
133      @Override          @Override
134      public void onCreate(Bundle savedInstanceState) {      public void onCreate(Bundle savedInstanceState) {
135          super.onCreate(savedInstanceState);          super.onCreate(savedInstanceState);
136                    
137            Log.e(LOGTAG, "Starting");
138            
139          getWindow().requestFeature(Window.FEATURE_PROGRESS);          getWindow().requestFeature(Window.FEATURE_PROGRESS);
140                    
141                    
142          try {          try {
143                  int airplane = Settings.System.getInt(this.getContentResolver(), Settings.System.AIRPLANE_MODE_ON);                  int airplane = Settings.System.getInt(this.getContentResolver(), Settings.System.AIRPLANE_MODE_ON);
144                    
145                  if (airplane > 0) {                  if (airplane > 0) {
146                          Settings.System.putInt(this.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0);                          Settings.System.putInt(this.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0);
147                          Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);                          Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
# Line 137  public class EKLLauncherActivity extends Line 151  public class EKLLauncherActivity extends
151          } catch (Settings.SettingNotFoundException e) {          } catch (Settings.SettingNotFoundException e) {
152                  Log.d("EKL", "Exception " + e.getMessage() );                  Log.d("EKL", "Exception " + e.getMessage() );
153          }          }
154    
155            locMgr = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
156            telMgr = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
157            connMgr = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);        
158                    
159            PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
160            wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "EklLauncher");
161            wakeLock.acquire();        
162                    
163                    
164          locMgr = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);          
165          telMgr = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);          //
         connMgr = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);  
166                    
167          device = telMgr.getLine1Number();          device = telMgr.getLine1Number();
168          if (device == null || device.equals("")) {  /*        if (device == null || device.equals("")) {
169                  device = telMgr.getDeviceId();                  device = telMgr.getSimSerialNumber();
170                                    
171                  if(device == null)                  if(device == null)
172                          device = "";                          device = "";                            
173          }          }*/
174            if(device == null)
175                    device = "";  
176            Log.i(LOGTAG, "Device Line1: " + telMgr.getLine1Number());
177            Log.i(LOGTAG, "Device simserial: " + telMgr.getSimSerialNumber());
178            Log.i(LOGTAG, "Device subscriber: " + telMgr.getSubscriberId());
179            Log.i(LOGTAG, "Device deviceid: " + telMgr.getDeviceId());//IMEI
180            
181            
182            Toast.makeText(EKLLauncherActivity.this, "Device: "+device, Toast.LENGTH_SHORT).show();
183                    
   
184                    
185          setContentView(R.layout.main);          setContentView(R.layout.main);
186          web = (WebView) findViewById(R.id.web);          web = (WebView) findViewById(R.id.web);
# Line 178  public class EKLLauncherActivity extends Line 206  public class EKLLauncherActivity extends
206                    
207          web.setWebChromeClient(new CustomChromeClient() );          web.setWebChromeClient(new CustomChromeClient() );
208          web.setWebViewClient( new DummyWebViewClient() ); // skal have en webviewclient for at kunne styre ved forlad tur          web.setWebViewClient( new DummyWebViewClient() ); // skal have en webviewclient for at kunne styre ved forlad tur
209                    
           
         simHandler.sendEmptyMessage(0);  
           
210                    
211    
212            //Hvis at tlf rebooter mit i et område uden dækning er det ikke smart at vi skal vente på data
213            //simHandler.sendEmptyMessage(0);
214            web.loadUrl( URL );
215                    
216                    
217          if (!locMgr.isProviderEnabled(LocationManager.GPS_PROVIDER )) {          if (!locMgr.isProviderEnabled(LocationManager.GPS_PROVIDER )) {
# Line 192  public class EKLLauncherActivity extends Line 221  public class EKLLauncherActivity extends
221                  builder.setMessage("GPS er slået fra på telefonen!\nSæt et flueben ved GPS i næste vindue og tryk derefter på tilbage knappen (nederst på telefonen)")                  builder.setMessage("GPS er slået fra på telefonen!\nSæt et flueben ved GPS i næste vindue og tryk derefter på tilbage knappen (nederst på telefonen)")
222              .setPositiveButton("OK", new DialogInterface.OnClickListener() {              .setPositiveButton("OK", new DialogInterface.OnClickListener() {
223                  public void onClick(DialogInterface dialog, int id) {                  public void onClick(DialogInterface dialog, int id) {
224                          Intent myIntent = new Intent( Settings.ACTION_SECURITY_SETTINGS );                          Intent myIntent = new Intent( Settings.ACTION_LOCATION_SOURCE_SETTINGS );                      
225                      startActivity(myIntent);                            startActivity(myIntent);      
226                  }                  }
227              })              })
228              .create()              .create()
229              .show();                    .show();      
230          }          }
231            
232        }
233        
234        void showMessage(String msg) {
235            AlertDialog.Builder builder = new AlertDialog.Builder(this);
236            builder.setMessage(msg)
237            .setPositiveButton("OK", new DialogInterface.OnClickListener() {
238                public void onClick(DialogInterface dialog, int id) {
239                    dialog.dismiss();
240                }
241            })
242            .create()
243            .show();      
244            
245      }      }
246    
247          @Override          @Override
248            protected void onDestroy() {
249                    super.onDestroy();
250                    wakeLock.release();
251            }
252    
253            @Override
254          public boolean onCreateOptionsMenu(Menu menu) {          public boolean onCreateOptionsMenu(Menu menu) {
255                  MenuItem item;                  MenuItem item;
256                  item = menu.add(0, 1, 0, "Genindlæs side");                  item = menu.add(0, 1, 0, "Genindlæs side");
# Line 219  public class EKLLauncherActivity extends Line 268  public class EKLLauncherActivity extends
268                          web.reload();                          web.reload();
269                          break;                          break;
270                  case 2:                  case 2:
                         WebStorage.getInstance().deleteAllData();  
271                          web.clearCache(true);                          web.clearCache(true);
272                            
273                            WebStorage.getInstance().deleteAllData();                      
274                            WebStorage.getInstance().deleteOrigin(URL);
275                            
276                          web.reload();                          web.reload();
277                          break;                          break;
278                  }                  }
# Line 238  public class EKLLauncherActivity extends Line 290  public class EKLLauncherActivity extends
290                    
291                    
292    
293          SimHandler simHandler = new SimHandler();  
294                    
295          class SimHandler extends Handler {          class SimHandler extends Handler {
296                                    

Legend:
Removed from v.1625  
changed lines
  Added in v.1930

  ViewVC Help
Powered by ViewVC 1.1.20