/[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 1621 by torben, Fri Oct 21 04:59:27 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;
6  import android.content.Context;  import android.content.Context;
7    import android.content.DialogInterface;
8  import android.content.Intent;  import android.content.Intent;
9    import android.location.LocationManager;
10  import android.net.ConnectivityManager;  import android.net.ConnectivityManager;
11  import android.net.NetworkInfo;  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 22  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 34  public class EKLLauncherActivity extends Line 41  public class EKLLauncherActivity extends
41                  }                  }
42    
43    
                 @Override  
                 public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, Message resultMsg) {  
                         msg("create window");  
                         return super.onCreateWindow(view, dialog, userGesture, resultMsg);  
                 }  
   
44    
45                  public void onProgressChanged(WebView view, int progress) {                  public void onProgressChanged(WebView view, int progress) {
46                          // Activities and WebViews measure progress with different scales.                          // Activities and WebViews measure progress with different scales.
# Line 72  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;
124          ConnectivityManager connMgr;          ConnectivityManager connMgr;
125          TelephonyManager telMgr;          TelephonyManager telMgr;
126          WebView web;          WebView web;
127          String device = "";          String device = "";
128                    
129            PowerManager.WakeLock wakeLock;
130                    
131          public void msg(String m) {          SimHandler simHandler = new SimHandler();
                 Toast.makeText(EKLLauncherActivity.this, m, Toast.LENGTH_SHORT).show();  
         }  
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 119  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                    
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);
# Line 159  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                    
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                    
         simHandler.sendEmptyMessage(0);  
216                    
217            if (!locMgr.isProviderEnabled(LocationManager.GPS_PROVIDER )) {
218                    //Settings.Secure.putString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "network,gps");
219                    
220                    AlertDialog.Builder builder = new AlertDialog.Builder(this);
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)")
222                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
223                    public void onClick(DialogInterface dialog, int id) {
224                            Intent myIntent = new Intent( Settings.ACTION_LOCATION_SOURCE_SETTINGS );                      
225                        startActivity(myIntent);      
226                    }
227                })
228                .create()
229                .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 183  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 202  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.1621  
changed lines
  Added in v.1927

  ViewVC Help
Powered by ViewVC 1.1.20