/[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 1624 by torben, Wed Oct 26 09:01:56 2011 UTC revision 1927 by torben, Mon Feb 25 13:03:28 2013 UTC
# Line 1  Line 1 
1  package dk.thoerup.ekllauncher;  package dk.thoerup.ekllauncher;
2    
3    import android.annotation.SuppressLint;
4  import android.app.Activity;  import android.app.Activity;
5  import android.app.AlertDialog;  import android.app.AlertDialog;
6  import android.content.Context;  import android.content.Context;
# Line 11  import android.net.NetworkInfo; Line 12  import android.net.NetworkInfo;
12  import android.os.Bundle;  import android.os.Bundle;
13  import android.os.Handler;  import android.os.Handler;
14  import android.os.Message;  import android.os.Message;
15    import android.os.PowerManager;
16  import android.provider.Settings;  import android.provider.Settings;
17  import android.telephony.TelephonyManager;  import android.telephony.TelephonyManager;
18    import android.text.InputType;
19  import android.util.Log;  import android.util.Log;
20  import android.view.Menu;  import android.view.Menu;
21  import android.view.MenuItem;  import android.view.MenuItem;
# Line 25  import android.webkit.WebStorage; Line 28  import android.webkit.WebStorage;
28  import android.webkit.WebStorage.QuotaUpdater;  import android.webkit.WebStorage.QuotaUpdater;
29  import android.webkit.WebView;  import android.webkit.WebView;
30  import android.webkit.WebViewClient;  import android.webkit.WebViewClient;
31    import android.widget.EditText;
32  import android.widget.Toast;  import android.widget.Toast;
33    
34  public class EKLLauncherActivity extends Activity {  public class EKLLauncherActivity extends Activity {
# Line 69  public class EKLLauncherActivity extends Line 73  public class EKLLauncherActivity extends
73                  }*/                  }*/
74    
75                  @Override                  @Override
76                  public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result) {                  public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, final JsPromptResult result) {
77                          if (message.trim().toLowerCase().equals("pda identifikation mangler")) {                          String msg = message.trim().toLowerCase();
78                                  result.confirm(device);  
79                                                            if (msg.equals("ekl identifikation mangler")) {
80                                  timeoutHandler.sendEmptyMessageDelayed(1, 500); //efter pdaID er sendt til app'en skal vi genindlæse siden for at tvinge den til at hente data                                  if (device != null && device.equals("")==false) {
81                                  return true;                                          result.confirm(device);
82    
83                                            timeoutHandler.sendEmptyMessageDelayed(1, 500); //efter pdaID er sendt til app'en skal vi genindlæse siden for at tvinge den til at hente data
84                                            return true;
85                                    } else {
86                                            //Hvis vi ikke kunne aflæse device, spørg user via en custom Input Dialog
87                                            //Dialogen kan kun tage imod tal &
88                                            //når at vi får en confirm på den tvinger vi ud i en reload af siden
89                                            
90                                            AlertDialog.Builder alert = new AlertDialog.Builder(EKLLauncherActivity.this);
91    
92                                            //alert.setTitle("Title");
93                                            alert.setMessage(message);
94    
95                                            // Set an EditText view to get user input
96                                            final EditText input = new EditText(EKLLauncherActivity.this);
97                                            input.setInputType(InputType.TYPE_CLASS_NUMBER);
98                                            alert.setView(input);
99    
100                                            alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
101                                                    public void onClick(DialogInterface dialog, int whichButton) {
102                                                            result.confirm(input.getText().toString());
103                                                            timeoutHandler.sendEmptyMessageDelayed(1, 500);
104                                                    }
105                                            });
106                                            alert.show();
107    
108                                            return true;            
109                                            
110                                    }              
111                          } else {                          } else {
112                                  return super.onJsPrompt(view, url, message, defaultValue, result);                                  return super.onJsPrompt(view, url, message, defaultValue, result);
113                          }                                                                                                }                                                                      
114                  }                  }
                   
115          }          }
116    
117          class DummyWebViewClient extends WebViewClient {                          class DummyWebViewClient extends WebViewClient {                
118          }          }
119                    
120          static final String URL = "http://omdeling.info/mobil/ekl/login.php";          static final String LOGTAG = "EklLauncher";
121            static final String URL = "http://omdeling.info/mobil_gpstrack/ekl/";
122                    
123          LocationManager locMgr;          LocationManager locMgr;
124          ConnectivityManager connMgr;          ConnectivityManager connMgr;
# Line 93  public class EKLLauncherActivity extends Line 126  public class EKLLauncherActivity extends
126          WebView web;          WebView web;
127          String device = "";          String device = "";
128                    
129            PowerManager.WakeLock wakeLock;
130                    
131            SimHandler simHandler = new SimHandler();
132                    
133      /** Called when the activity is first created. */      /** Called when the activity is first created. */
134      @Override      @SuppressLint("SetJavaScriptEnabled")
135            @Override
136      public void onCreate(Bundle savedInstanceState) {      public void onCreate(Bundle savedInstanceState) {
137          super.onCreate(savedInstanceState);          super.onCreate(savedInstanceState);
138                    
139            Log.e(LOGTAG, "Starting");
140            
141          getWindow().requestFeature(Window.FEATURE_PROGRESS);          getWindow().requestFeature(Window.FEATURE_PROGRESS);
142                    
143                    
144          try {          try {
145                  int airplane = Settings.System.getInt(this.getContentResolver(), Settings.System.AIRPLANE_MODE_ON);                  int airplane = Settings.System.getInt(this.getContentResolver(), Settings.System.AIRPLANE_MODE_ON);
146                    
147                  if (airplane > 0) {                  if (airplane > 0) {
148                          Settings.System.putInt(this.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0);                          Settings.System.putInt(this.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0);
149                          Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);                          Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
# Line 114  public class EKLLauncherActivity extends Line 153  public class EKLLauncherActivity extends
153          } catch (Settings.SettingNotFoundException e) {          } catch (Settings.SettingNotFoundException e) {
154                  Log.d("EKL", "Exception " + e.getMessage() );                  Log.d("EKL", "Exception " + e.getMessage() );
155          }          }
156    
157            locMgr = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
158            telMgr = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
159            connMgr = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);        
160                    
161            PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
162            wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "EklLauncher");
163            wakeLock.acquire();        
164                    
165                    
166          locMgr = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);          
167          telMgr = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);          //
         connMgr = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);  
168                    
169          device = telMgr.getLine1Number();          device = telMgr.getLine1Number();
170          if (device == null || device.equals("")) {          if (device == null || device.equals("")) {
171                  device = telMgr.getDeviceId();                  device = telMgr.getSimSerialNumber();
172                                    
173                  if(device == null)                  if(device == null)
174                          device = "";                          device = "";                            
175          }          }
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 155  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 169  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 196  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 215  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.1624  
changed lines
  Added in v.1927

  ViewVC Help
Powered by ViewVC 1.1.20