List of usage examples for android.os Bundle get
@Nullable
public Object get(String key)
From source file:com.swisscom.safeconnect.activity.DashboardActivity.java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dashboard);/*w w w . jav a 2 s.com*/ vpnServiceIntentProvider = new VpnServiceIntentProvider() { @Override public Intent getIntent() { Intent intent = new Intent(DashboardActivity.this, CharonVpnService.class); intent.putExtra(Config.VPN_PROFILE_BUNDLE_KEY, mProfile); return intent; } }; btnRescaleMap = (Button) findViewById(R.id.btn_rescale_map); btnRescaleMap.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { btnRescaleMap.setVisibility(View.GONE); viewMap.setAllowRecalcBounds(); } }); viewSubscrStatus = (SubscriptionStatusView) findViewById(R.id.view_subscr_status); viewSubscrStatus.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mOpenSubscriptions) return; // if subscription expired, make sure that the VPN is disconnected before // opening the subscriptions activity Subscription cur = viewSubscrStatus.getCurrentSubscription(); if (cur != null && cur.getValidTill() * 1000 <= System.currentTimeMillis() && mVpnState != VpnStateService.State.DISABLED) { mOpenSubscriptions = true; disconnectVpn(); } else { openSubscriptionsActivity(); } } }); viewConnStatus = (ConnectionStatusView) findViewById(R.id.view_conn_status); viewConnStatus.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { switch (viewConnStatus.getConnectionState()) { case CONNECTED: disconnectVpn(); break; case DISCONNECTED: case UNAVAILABLE: connectVpn(); break; default: break; } } }); viewMap = (WorldMapView) findViewById(R.id.view_world_map); viewMap.setOnUserMapInteractionListener(new View.OnClickListener() { @Override public void onClick(View v) { btnRescaleMap.setVisibility(View.VISIBLE); } }); if (!Config.getInstance().getAuthToken().isEmpty()) { bindVpnService(); } if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction().replace(R.id.frame_sidebar, new InfoFragment()).commit(); // in case DashboardActivity gets killed in the meantime, the intent of a // newly created DashboardActivity will still contain the old value in its // intent. onSaveInstanceState works though. mOpenSubscriptions = getIntent() != null && (getIntent().getBooleanExtra(KEY_OPEN_SUBSCRIPTIONS, false) || getIntent().getAction() == Intent.ACTION_VIEW && getIntent().getDataString() != null && getIntent().getDataString().contains("subscribe")); } else { mOpenSubscriptions = savedInstanceState.getBoolean(KEY_OPEN_SUBSCRIPTIONS, false); viewConnStatus .setConnectionState((ConnectionStatusView.VpnState) savedInstanceState.get(KEY_CONN_STATUS)); } subscrManager = new SubscriptionsManager(this, savedInstanceState); handler.postRunnable(subscriptionsFetchRunnable); // show what's new if needed if (Config.getInstance().isAppGotUpdated()) { Config.getInstance().clearAppUpdatedFlag(); WhatsnewDialogFragment dlg = new WhatsnewDialogFragment(); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); Fragment prev = getSupportFragmentManager().findFragmentByTag("whatsnew"); if (prev != null) { ft.remove(prev); } ft.addToBackStack(null); dlg.show(ft, "whatsnew"); } }
From source file:cgeo.geocaching.cgeocaches.java
@Override public Loader<SearchResult> onCreateLoader(int type, Bundle extras) { if (type >= CacheListLoaderType.values().length) { throw new IllegalArgumentException("invalid loader type " + type); }/*from w w w . ja v a 2 s .c o m*/ CacheListLoaderType enumType = CacheListLoaderType.values()[type]; AbstractSearchLoader loader = null; switch (enumType) { case OFFLINE: listId = Settings.getLastList(); if (listId <= StoredList.TEMPORARY_LIST_ID) { listId = StoredList.STANDARD_LIST_ID; title = res.getString(R.string.stored_caches_button); } else { final StoredList list = cgData.getList(listId); // list.id may be different if listId was not valid listId = list.id; title = list.title; } loader = new OfflineGeocacheListLoader(this.getBaseContext(), coords, listId); break; case HISTORY: title = res.getString(R.string.caches_history); loader = new HistoryGeocacheListLoader(app, coords); break; case NEAREST: title = res.getString(R.string.caches_nearby); loader = new CoordsGeocacheListLoader(app, coords); break; case COORDINATE: title = coords.toString(); loader = new CoordsGeocacheListLoader(app, coords); break; case KEYWORD: final String keyword = extras.getString(Intents.EXTRA_KEYWORD); title = keyword; loader = new KeywordGeocacheListLoader(app, keyword); break; case ADDRESS: final String address = extras.getString(Intents.EXTRA_ADDRESS); if (StringUtils.isNotBlank(address)) { title = address; } else { title = coords.toString(); } if (coords != null) { loader = new CoordsGeocacheListLoader(app, coords); } else { loader = new AddressGeocacheListLoader(app, address); } break; case USERNAME: final String username = extras.getString(Intents.EXTRA_USERNAME); title = username; loader = new UsernameGeocacheListLoader(app, username); break; case OWNER: final String ownerName = extras.getString(Intents.EXTRA_USERNAME); title = ownerName; loader = new OwnerGeocacheListLoader(app, ownerName); break; case MAP: //TODO Build Nullloader title = res.getString(R.string.map_map); search = (SearchResult) extras.get(Intents.EXTRA_SEARCH); replaceCacheListFromSearch(); loadCachesHandler.sendMessage(Message.obtain()); break; case REMOVE_FROM_HISTORY: title = res.getString(R.string.caches_history); loader = new RemoveFromHistoryLoader(app, extras.getStringArray(Intents.EXTRA_CACHELIST), coords); break; case NEXT_PAGE: loader = new NextPageGeocacheListLoader(app, search); break; } setTitle(title); showProgress(true); showFooterLoadingCaches(); if (loader != null) { loader.setRecaptchaHandler(new SearchHandler(this, res, loader)); } return loader; }
From source file:com.example.haizhu.myvoiceassistant.ui.RobotChatActivity.java
public void initListener() { recognitionListener = new RecognitionListener() { @Override//from w w w .j a va2 s . c o m public void onReadyForSpeech(Bundle bundle) { } @Override public void onBeginningOfSpeech() { } @Override public void onRmsChanged(float v) { final int VTAG = 0xFF00AA01; Integer rawHeight = (Integer) speechWave.getTag(VTAG); if (rawHeight == null) { rawHeight = speechWave.getLayoutParams().height; speechWave.setTag(VTAG, rawHeight); } RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) speechWave.getLayoutParams(); params.height = (int) (rawHeight * v * 0.01); params.height = Math.max(params.height, speechWave.getMeasuredWidth()); speechWave.setLayoutParams(params); } @Override public void onBufferReceived(byte[] bytes) { } @Override public void onEndOfSpeech() { } @Override public void onError(int error) { StringBuilder sb = new StringBuilder(); switch (error) { case SpeechRecognizer.ERROR_AUDIO: sb.append(""); break; case SpeechRecognizer.ERROR_SPEECH_TIMEOUT: sb.append(""); break; case SpeechRecognizer.ERROR_CLIENT: sb.append(""); break; case SpeechRecognizer.ERROR_INSUFFICIENT_PERMISSIONS: sb.append("???"); break; case SpeechRecognizer.ERROR_NETWORK: sb.append(""); break; case SpeechRecognizer.ERROR_NO_MATCH: sb.append("?"); break; case SpeechRecognizer.ERROR_RECOGNIZER_BUSY: sb.append(""); break; case SpeechRecognizer.ERROR_SERVER: sb.append("?"); break; case SpeechRecognizer.ERROR_NETWORK_TIMEOUT: sb.append(""); break; } sb.append(":" + error); print("" + sb.toString()); Message message = mhandler.obtainMessage(RECOGNIZE_ERROR); message.obj = sb.toString(); mhandler.sendMessage(message); } @Override public void onResults(Bundle results) { ArrayList<String> nbest = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION); print("?" + Arrays.toString(nbest.toArray(new String[nbest.size()]))); String json_res = results.getString("origin_result"); String results_nlu_json = results.getString("results_nlu"); Message message = mhandler.obtainMessage(RECOGNIZE_SUCESS); message.obj = results_nlu_json; mhandler.sendMessage(message); //?UI ResultsAnalysisManager.analyseResult(results_nlu_json); print("result_nlu=\n" + results_nlu_json); try { print("origin_result=\n" + new JSONObject(json_res).toString(4)); } catch (Exception e) { print("origin_result=[warning: bad json]\n" + json_res); } } @Override public void onPartialResults(Bundle bundle) { } @Override public void onEvent(int eventType, Bundle bundle) { switch (eventType) { case 11: String reason = bundle.get("reason") + ""; print("EVENT_ERROR, " + reason); Message message = mhandler.obtainMessage(RECOGNIZE_ERROR); message.obj = reason; mhandler.sendMessage(message); break; } } }; speechSynthesizerListener = new SpeechSynthesizerListener() { @Override public void onStartWorking(SpeechSynthesizer speechSynthesizer) { } @Override public void onSpeechStart(SpeechSynthesizer speechSynthesizer) { } @Override public void onNewDataArrive(SpeechSynthesizer speechSynthesizer, byte[] bytes, boolean b) { } @Override public void onBufferProgressChanged(SpeechSynthesizer speechSynthesizer, int i) { } @Override public void onSpeechProgressChanged(SpeechSynthesizer speechSynthesizer, int i) { } @Override public void onSpeechPause(SpeechSynthesizer speechSynthesizer) { } @Override public void onSpeechResume(SpeechSynthesizer speechSynthesizer) { } @Override public void onCancel(SpeechSynthesizer speechSynthesizer) { } @Override public void onSynthesizeFinish(SpeechSynthesizer speechSynthesizer) { } @Override public void onSpeechFinish(SpeechSynthesizer speechSynthesizer) { } @Override public void onError(SpeechSynthesizer speechSynthesizer, SpeechError speechError) { } }; }
From source file:org.cm.podd.report.activity.ReportActivity.java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(this); broadcastManager.registerReceiver(mAlertReceiver, new IntentFilter(FollowAlertService.TAG)); broadcastManager.registerReceiver(new BroadcastReceiver() { @Override/*from w w w . j a v a 2 s . co m*/ public void onReceive(Context context, Intent intent) { long administrationAreaId = intent.getLongExtra("administrationAreaId", -99); setRegionId(administrationAreaId); } }, new IntentFilter(SyncAdministrationAreaService.TAG)); sharedPrefUtil = new SharedPrefUtil(this); setContentView(R.layout.activity_report); Toolbar myToolbar = findViewById(R.id.report_toolbar); setSupportActionBar(myToolbar); long areaId = sharedPrefUtil.getDefaultAdministrationAreaId(); if (areaId != -99) { setRegionId(areaId); } formView = findViewById(R.id.form); locationView = findViewById(R.id.location); textProgressLocationView = findViewById(R.id.progress_location_text); textProgressLocationView.setTypeface(StyleUtil.getDefaultTypeface(getAssets(), Typeface.NORMAL)); countdownTextView = findViewById(R.id.countdownTextView); countdownTextView.setTypeface(StyleUtil.getDefaultTypeface(getAssets(), Typeface.NORMAL)); refreshLocationButton = findViewById(R.id.refresh_location_button); refreshLocationButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { requestGPSLocation(); startLocationSearchTimeoutCountdown(); } }); progressBar = findViewById(R.id.progressBar); prevBtn = findViewById(R.id.prevBtn); nextBtn = findViewById(R.id.nextBtn); nextBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { nextScreen(); } }); nextBtn.setTypeface(StyleUtil.getDefaultTypeface(getAssets(), Typeface.NORMAL)); prevBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { onBackPressed(); } }); prevBtn.setTypeface(StyleUtil.getDefaultTypeface(getAssets(), Typeface.NORMAL)); disableMaskView = findViewById(R.id.disableMask); reportDataSource = new ReportDataSource(this); reportTypeDataSource = new ReportTypeDataSource(this); reportQueueDataSource = new ReportQueueDataSource(this); recordSpecDataSource = RecordSpecDataSource.Companion.getInstance(this); followAlertDataSource = new FollowAlertDataSource(this); if (savedInstanceState != null) { currentFragment = savedInstanceState.getString("currentFragment"); reportId = savedInstanceState.getLong("reportId"); reportType = savedInstanceState.getLong("reportType"); follow = savedInstanceState.getBoolean("follow"); testReport = savedInstanceState.getBoolean("testReport"); formIterator = (FormIterator) savedInstanceState.getSerializable("formIterator"); if (formIterator != null) { trigger = formIterator.getForm().getTrigger(); } reportSubmit = savedInstanceState.getInt("reportSubmit"); followActionName = savedInstanceState.getString("followActionName"); Log.d(TAG, "onCreate from savedInstance, testFlag = " + testReport); currentLatitude = savedInstanceState.getDouble("currentLatitude"); currentLongitude = savedInstanceState.getDouble("currentLongitude"); recordSpec = (RecordSpec) savedInstanceState.get("recordSpec"); parentReportGuid = savedInstanceState.getString("parentReportGuid"); } else { Intent intent = getIntent(); String action = intent.getAction(); int startPageId = -1; switch (action) { case ACTION_NEW_REPORT: reportType = intent.getLongExtra("reportType", 0); testReport = intent.getBooleanExtra("test", false); reportId = reportDataSource.createDraftReport(reportType, testReport); follow = false; break; case FollowAlertService.ORG_CM_PODD_REPORT_FOLLOW: reportType = intent.getLongExtra("reportType", 0); testReport = false; reportId = intent.getLongExtra("reportId", -99); follow = intent.getBooleanExtra("follow", false); break; case ACTION_FOR_EDIT_OR_VIEW: reportType = intent.getLongExtra("reportType", 0); testReport = intent.getBooleanExtra("test", false); reportId = intent.getLongExtra("reportId", -99); break; case ACTION_CREATE_FOLLOW_REPORT: reportType = intent.getLongExtra("reportType", 0); parentReportId = intent.getLongExtra("reportId", -99); reportId = reportDataSource.createFollowReport(parentReportId); follow = true; followActionName = "follow"; break; case ACTION_CREATE_FOLLOW_REPORT_WITH_ACTION: reportType = intent.getLongExtra("reportType", 0); parentReportId = intent.getLongExtra("reportId", -99); reportId = reportDataSource.createFollowReport(parentReportId); follow = true; followActionName = intent.getStringExtra("followActionName"); startPageId = intent.getIntExtra("startPageId", -1); break; case ACTION_CREATE_FOLLOW_REPORT_FROM_RECORD: reportType = intent.getLongExtra("reportType", 0); parentReportGuid = intent.getStringExtra("parentReportGuid"); String preloadFormData = intent.getStringExtra("preloadFormData"); reportId = reportDataSource.createFollowReport(reportType, parentReportGuid, preloadFormData); follow = true; break; } Form form = reportTypeDataSource.getForm(reportType); trigger = form.getTrigger(); if (trigger != null) { Log.d(TAG, String.format( "This report type contain a trigger with pattern:%s, pageId:%d, notificationText:%s", trigger.getPattern(), trigger.getPageId(), trigger.getNotificationText())); } if (intent.getAction() != null && intent.getAction().equals(FollowAlertService.ORG_CM_PODD_REPORT_FOLLOW)) { form.setStartWithTrigger(true); } if (startPageId != -1) { form.setStartPageId(startPageId); } formIterator = new FormIterator(form); Report report = loadFormData(form); recordSpec = recordSpecDataSource.getByReportTypeId(report.getType()); nextScreen(); } if (recordSpec != null) { final FirebaseContext firebaseContext = FirebaseContext.Companion .getInstance(PreferenceContext.Companion.getInstance(getApplicationContext())); firebaseContext.auth(this, new Function1<Boolean, Unit>() { @Override public Unit invoke(Boolean success) { if (success) { recordDataSource = firebaseContext.recordDataSource(recordSpec, parentReportGuid); } return null; } }); } // open location service only when // 1. Create a New report // 2. Edit a draft report which don't have any location attach. if ((reportSubmit == 0) && (currentLatitude == 0.00)) { buildGoogleApiClient(); if (formIterator.getForm().isForceLocation()) { switchToProgressLocationMode(); } } /* check softkeyboard visibility */ final View rootView = getWindow().getDecorView().findViewById(android.R.id.content); rootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { // different devices' screens have normal height diff differently // eg, roughly 5.5" xxhdpi has 220px, 4.5" xhdpi has 110px, 4", 3.5" hdpi has 75px int heightDiff = rootView.getRootView().getHeight() - rootView.getHeight(); int limitHeightPx = (int) (getResources().getDisplayMetrics().density * 100); Log.d(TAG, String.format("diff height=%d, limit height=%d", heightDiff, limitHeightPx)); } }); Tracker tracker = ((PoddApplication) getApplication()).getTracker(PoddApplication.TrackerName.APP_TRACKER); tracker.setScreenName("Report-" + reportType); tracker.send(new HitBuilders.AppViewBuilder().build()); startTime = System.currentTimeMillis(); }
From source file:com.if3games.chessonline.DroidFish.java
/** * Return PGN/FEN data or filename from the Intent. Both can not be non-null. * @return Pair of PGN/FEN data and filename. *//*w ww.j av a2s . co m*/ private final Pair<String, String> getPgnOrFenIntent() { String pgnOrFen = null; String filename = null; try { Intent intent = getIntent(); Uri data = intent.getData(); if (data == null) { Bundle b = intent.getExtras(); if (b != null) { Object strm = b.get(Intent.EXTRA_STREAM); if (strm instanceof Uri) { data = (Uri) strm; if ("file".equals(data.getScheme())) { filename = data.getEncodedPath(); if (filename != null) filename = Uri.decode(filename); } } } } if (data == null) { if ((Intent.ACTION_SEND.equals(intent.getAction()) || Intent.ACTION_VIEW.equals(intent.getAction())) && ("application/x-chess-pgn".equals(intent.getType()) || "application/x-chess-fen".equals(intent.getType()))) pgnOrFen = intent.getStringExtra(Intent.EXTRA_TEXT); } else { String scheme = intent.getScheme(); if ("file".equals(scheme)) { filename = data.getEncodedPath(); if (filename != null) filename = Uri.decode(filename); } if ((filename == null) && ("content".equals(scheme) || "file".equals(scheme))) { ContentResolver resolver = getContentResolver(); InputStream in = resolver.openInputStream(intent.getData()); StringBuilder sb = new StringBuilder(); while (true) { byte[] buffer = new byte[16384]; int len = in.read(buffer); if (len <= 0) break; sb.append(new String(buffer, 0, len)); } pgnOrFen = sb.toString(); } } } catch (IOException e) { Toast.makeText(getApplicationContext(), R.string.failed_to_read_pgn_data, Toast.LENGTH_SHORT).show(); } return new Pair<String, String>(pgnOrFen, filename); }
From source file:cgeo.geocaching.CacheListActivity.java
@Override public Loader<SearchResult> onCreateLoader(final int type, final Bundle extras) { if (type >= CacheListLoaderType.values().length) { throw new IllegalArgumentException("invalid loader type " + type); }/*from w w w. java 2 s. co m*/ final CacheListLoaderType enumType = CacheListLoaderType.values()[type]; AbstractSearchLoader loader = null; switch (enumType) { case OFFLINE: // open either the requested or the last list if (extras.containsKey(Intents.EXTRA_LIST_ID)) { listId = extras.getInt(Intents.EXTRA_LIST_ID); } else { listId = Settings.getLastDisplayedList(); } if (listId == PseudoList.ALL_LIST.id) { title = res.getString(R.string.list_all_lists); } else if (listId <= StoredList.TEMPORARY_LIST.id) { listId = StoredList.STANDARD_LIST_ID; title = res.getString(R.string.stored_caches_button); } else { final StoredList list = DataStore.getList(listId); // list.id may be different if listId was not valid if (list.id != listId) { showToast(getString(R.string.list_not_available)); } listId = list.id; title = list.title; } loader = new OfflineGeocacheListLoader(this, coords, listId); break; case HISTORY: title = res.getString(R.string.caches_history); listId = PseudoList.HISTORY_LIST.id; loader = new HistoryGeocacheListLoader(this, coords); break; case NEAREST: title = res.getString(R.string.caches_nearby); loader = new CoordsGeocacheListLoader(this, coords); break; case COORDINATE: title = coords.toString(); loader = new CoordsGeocacheListLoader(this, coords); break; case KEYWORD: final String keyword = extras.getString(Intents.EXTRA_KEYWORD); title = listNameMemento.rememberTerm(keyword); if (keyword != null) { loader = new KeywordGeocacheListLoader(this, keyword); } break; case ADDRESS: final String address = extras.getString(Intents.EXTRA_ADDRESS); if (StringUtils.isNotBlank(address)) { title = listNameMemento.rememberTerm(address); } else { title = coords.toString(); } loader = new CoordsGeocacheListLoader(this, coords); break; case FINDER: final String username = extras.getString(Intents.EXTRA_USERNAME); title = listNameMemento.rememberTerm(username); if (username != null) { loader = new FinderGeocacheListLoader(this, username); } break; case OWNER: final String ownerName = extras.getString(Intents.EXTRA_USERNAME); title = listNameMemento.rememberTerm(ownerName); if (ownerName != null) { loader = new OwnerGeocacheListLoader(this, ownerName); } break; case MAP: //TODO Build Null loader title = res.getString(R.string.map_map); search = (SearchResult) extras.get(Intents.EXTRA_SEARCH); replaceCacheListFromSearch(); loadCachesHandler.sendMessage(Message.obtain()); break; case NEXT_PAGE: loader = new NextPageGeocacheListLoader(this, search); break; case POCKET: final String guid = extras.getString(Intents.EXTRA_POCKET_GUID); title = listNameMemento.rememberTerm(extras.getString(Intents.EXTRA_NAME)); loader = new PocketGeocacheListLoader(this, guid); break; } // if there is a title given in the activity start request, use this one instead of the default if (extras != null && StringUtils.isNotBlank(extras.getString(Intents.EXTRA_TITLE))) { title = extras.getString(Intents.EXTRA_TITLE); } if (loader != null && extras != null && extras.getSerializable(BUNDLE_ACTION_KEY) != null) { final AfterLoadAction action = (AfterLoadAction) extras.getSerializable(BUNDLE_ACTION_KEY); loader.setAfterLoadAction(action); } updateTitle(); showProgress(true); showFooterLoadingCaches(); return loader; }
From source file:me.ububble.speakall.fragment.ConversationChatFragment.java
public void onRetoreInstanceState(Bundle inState) { this.contact = (Contact) inState.get("contacto"); }
From source file:com.zoffcc.applications.zanavi.Navit.java
protected void onNewIntent(Intent intent) { super.onNewIntent(intent); try {//from w ww. j a v a2 s. co m System.out.println("XXIIXX(2):111"); String mid_str = intent.getExtras().getString("com.zoffcc.applications.zanavi.mid"); System.out.println("XXIIXX(2):111a:mid_str=" + mid_str); if (mid_str != null) { if (mid_str.equals("201:UPDATE-APP")) { // a new ZANavi version is available, show something to the user here ------------------- // a new ZANavi version is available, show something to the user here ------------------- // a new ZANavi version is available, show something to the user here ------------------- // a new ZANavi version is available, show something to the user here ------------------- // a new ZANavi version is available, show something to the user here ------------------- // a new ZANavi version is available, show something to the user here ------------------- } else if (mid_str.startsWith("202:UPDATE-MAP:")) { // System.out.println("need to update1:" + mid_str); // System.out.println("need to update2:" + mid_str.substring(15)); auto_start_update_map(mid_str.substring(15)); } } System.out.println("XXIIXX(2):111b:mid_str=" + mid_str); } catch (Exception e) { e.printStackTrace(); System.out.println("XXIIXX(2):111:EEEE"); } // ---- Intent dump ---- // ---- Intent dump ---- // ---- Intent dump ---- // ---- Intent dump ---- try { System.out.println("XXIIXX(2):" + intent); Bundle bundle77 = intent.getExtras(); System.out.println("XXIIXX(2):" + intent_flags_to_string(intent.getFlags())); if (bundle77 == null) { System.out.println("XXIIXX(2):" + "null"); } else { for (String key : bundle77.keySet()) { Object value = bundle77.get(key); System.out.println("XXIIXX(2):" + String.format("%s %s (%s)", key, value.toString(), value.getClass().getName())); } } } catch (Exception ee22) { String exst = Log.getStackTraceString(ee22); System.out.println("XXIIXX(2):ERR:" + exst); } // ---- Intent dump ---- // ---- Intent dump ---- // ---- Intent dump ---- // ---- Intent dump ---- Log.e("Navit", "3:**1**A " + intent.getAction()); Log.e("Navit", "3:**1**D " + intent.getDataString()); Log.e("Navit", "3:**1**S " + intent.toString()); try { Log.e("Navit", "3:**1**S " + intent.getExtras().describeContents()); } catch (Exception ee3) { } // if (Navit.startup_intent == null) { try { // make a copy of the given intent object // Navit.startup_intent = intent.cloneFilter(); Navit.startup_intent = intent; Log.e("Navit", "3a:**1**001"); Bundle extras2 = intent.getExtras(); Log.e("Navit", "3a:**1**002"); try { Navit.startup_intent.putExtras(extras2); Log.e("Navit", "3a:**1**003"); } catch (Exception e4) { if (startup_intent.getDataString() != null) { // we have a "geo:" thingy intent, use it // or "gpx file" Log.e("Navit", "3c:**1**A " + startup_intent.getAction()); Log.e("Navit", "3c:**1**D " + startup_intent.getDataString()); Log.e("Navit", "3c:**1**S " + startup_intent.toString()); } else { Log.e("Navit", "3X:**1**X "); Navit.startup_intent = null; } // hack! remeber timstamp, and only allow 4 secs. later in onResume to set target! Navit.startup_intent_timestamp = System.currentTimeMillis(); return; } // Intent { act=android.intent.action.VIEW // cat=[android.intent.category.DEFAULT] // dat=file:///mnt/sdcard/zanavi_pos_recording_347834278.gpx // cmp=com.zoffcc.applications.zanavi/.Navit } // hack! remeber timstamp, and only allow 4 secs. later in onResume to set target! Navit.startup_intent_timestamp = System.currentTimeMillis(); Log.e("Navit", "3a:**1**A " + startup_intent.getAction()); Log.e("Navit", "3a:**1**D " + startup_intent.getDataString()); Log.e("Navit", "3a:**1**S " + startup_intent.toString()); if (extras2 != null) { long l = extras2.getLong("com.zoffcc.applications.zanavi.ZANAVI_INTENT_type"); // System.out.println("DH:a007 l=" + l); if (l != 0L) { if (l == Navit.NAVIT_START_INTENT_DRIVE_HOME) { // Log.e("Navit", "2:**1** started via drive home"); // we have been called from "drive home" widget // drive home // check if we have a home location int home_id = find_home_point(); if (home_id != -1) { Message msg7 = progress_handler.obtainMessage(); Bundle b7 = new Bundle(); msg7.what = 2; // long Toast message b7.putString("text", Navit.get_text("driving to Home Location")); //TRANS msg7.setData(b7); progress_handler.sendMessage(msg7); // clear any previous destinations Message msg2 = new Message(); Bundle b2 = new Bundle(); b2.putInt("Callback", 7); msg2.setData(b2); NavitGraphics.callback_handler.sendMessage(msg2); // set position to middle of screen ----------------------- // set position to middle of screen ----------------------- // set position to middle of screen ----------------------- // Message msg67 = new Message(); // Bundle b67 = new Bundle(); // b67.putInt("Callback", 51); // b67.putInt("x", (int) (NavitGraphics.Global_dpi_factor * Navit.NG__map_main.view.getWidth() / 2)); // b67.putInt("y", (int) (NavitGraphics.Global_dpi_factor * Navit.NG__map_main.view.getHeight() / 2)); // msg67.setData(b67); // N_NavitGraphics.callback_handler.sendMessage(msg67); // set position to middle of screen ----------------------- // set position to middle of screen ----------------------- // set position to middle of screen ----------------------- try { Thread.sleep(60); } catch (Exception e) { } route_wrapper(map_points.get(home_id).point_name, 0, 0, false, map_points.get(home_id).lat, map_points.get(home_id).lon, true); // Navit.destination_set(); // // // set destination to home location // String lat = String.valueOf(map_points.get(home_id).lat); // String lon = String.valueOf(map_points.get(home_id).lon); // String q = map_points.get(home_id).point_name; // // // System.out.println("lat=" + lat + " lon=" + lon + " name=" + q); // // Message msg55 = new Message(); // Bundle b55 = new Bundle(); // b55.putInt("Callback", 3); // b55.putString("lat", lat); // b55.putString("lon", lon); // b55.putString("q", q); // msg55.setData(b55); // NavitGraphics.callback_handler.sendMessage(msg55); final Thread zoom_to_route_001 = new Thread() { int wait = 1; int count = 0; int max_count = 60; @Override public void run() { while (wait == 1) { try { if ((NavitGraphics.navit_route_status == 17) || (NavitGraphics.navit_route_status == 33)) { zoom_to_route(); wait = 0; } else { wait = 1; } count++; if (count > max_count) { wait = 0; } else { Thread.sleep(400); } } catch (Exception e) { } } } }; zoom_to_route_001.start(); // try // { // show_geo_on_screen(Float.parseFloat(lat), Float.parseFloat(lon)); // } // catch (Exception e2) // { // e2.printStackTrace(); // } try { Navit.follow_button_on(); } catch (Exception e2) { e2.printStackTrace(); } } else { // no home location set Message msg = progress_handler.obtainMessage(); Bundle b = new Bundle(); msg.what = 2; // long Toast message b.putString("text", Navit.get_text("No Home Location set")); //TRANS msg.setData(b); progress_handler.sendMessage(msg); } } } else { if (startup_intent.getDataString() != null) { // we have a "geo:" thingy intent, use it // or "gpx file" } else { Navit.startup_intent = null; } } } else { if (startup_intent.getDataString() != null) { // we have a "geo:" thingy intent, use it } else { Navit.startup_intent = null; } } } catch (Exception e99) { Navit.startup_intent = null; } } }
From source file:com.zoffcc.applications.zanavi.Navit.java
@SuppressLint("NewApi") @Override//w ww . ja va2 s.c o m public void onResume() { // if (Navit.METHOD_DEBUG) Navit.my_func_name(0); // System.gc(); super.onResume(); // // --- alive timestamp --- // app_status_lastalive = System.currentTimeMillis(); // System.out.println("app_status_string set:[onResume]:app_status_lastalive=" + app_status_lastalive); // PreferenceManager.getDefaultSharedPreferences(this).edit().putLong(PREF_KEY_LASTALIVE, app_status_lastalive).commit(); // // --- alive timestamp --- // hide main progress bar ------------ if (Navit.progressbar_main_activity.getVisibility() == View.VISIBLE) { Navit.progressbar_main_activity.setProgress(0); Navit.progressbar_main_activity.setVisibility(View.GONE); } // hide main progress bar ------------ try { sensorManager.registerListener(lightSensorEventListener, lightSensor, (int) (8 * 1000000)); // updates approx. every 8 seconds } catch (Exception e) { } // get the intent fresh !! ---------- startup_intent = this.getIntent(); // get the intent fresh !! ---------- // ------------- get all the flags for intro pages ------------- // ------------- get all the flags for intro pages ------------- // ------------- get all the flags for intro pages ------------- try { intro_flag_nomaps = false; if (!have_maps_installed()) { if ((!NavitMapDownloader.download_active) && (!NavitMapDownloader.download_active_start)) { intro_flag_nomaps = true; } } } catch (Exception e) { } try { intro_flag_indexmissing = false; allow_use_index_search(); if (Navit_index_on_but_no_idx_files) { if (!NavitMapDownloader.download_active_start) { intro_flag_indexmissing = true; } } } catch (Exception e) { } intro_flag_firststart = PreferenceManager.getDefaultSharedPreferences(this).getBoolean(PREF_KEY_FIRST_START, true); if (intro_flag_firststart) { intro_flag_update = false; } if (EasyPermissions.hasPermissions(this, perms)) { // have permissions! intro_flag_permissions = false; } else { // ask for permissions intro_flag_permissions = true; } // only show in onCreate() ------ // if (intro_show_count > 0) // { // intro_flag_info = false; // intro_flag_firststart = false; // intro_flag_update = false; // } // only show in onCreate() ------ // ------------- get all the flags for intro pages ------------- // ------------- get all the flags for intro pages ------------- // ------------- get all the flags for intro pages ------------- // -------------- INTRO -------------- // -------------- INTRO -------------- // -------------- INTRO -------------- if (Navit.CIDEBUG == 0) // -MAT-INTRO- { // intro_flag_nomaps = true; // intro_flag_info = true; // intro_flag_firststart = false; // intro_flag_update = false; // intro_flag_indexmissing = false; // intro_flag_crash = true; if (intro_flag_crash || intro_flag_firststart || intro_flag_indexmissing || intro_flag_info || intro_flag_nomaps || intro_flag_permissions || intro_flag_update) { System.out.println("flags=" + "intro_flag_crash:" + intro_flag_crash + " intro_flag_firststart:" + intro_flag_firststart + " intro_flag_indexmissing:" + intro_flag_indexmissing + " intro_flag_info:" + intro_flag_info + " intro_flag_nomaps:" + intro_flag_nomaps + " intro_flag_permissions:" + intro_flag_permissions + " intro_flag_update:" + intro_flag_update); // intro pages System.out.println("ZANaviMainIntroActivity:" + "start count=" + intro_show_count); intro_show_count++; Intent intent = new Intent(this, ZANaviMainIntroActivityStatic.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); startActivityForResult(intent, ZANaviIntro_id); } } // // -------------- INTRO -------------- // // -------------- INTRO -------------- // // -------------- INTRO -------------- PackageInfo pkgInfo; Navit_Plugin_001_Installed = false; try { // is the donate version installed? pkgInfo = getPackageManager().getPackageInfo("com.zoffcc.applications.zanavi_msg", 0); String sharedUserId = pkgInfo.sharedUserId; System.out.println("str nd=" + sharedUserId); if (sharedUserId.equals("com.zoffcc.applications.zanavi")) { System.out.println("##plugin 001##"); Navit_Plugin_001_Installed = true; } } catch (Exception e) { e.printStackTrace(); } // ---- Intent dump ---- // ---- Intent dump ---- // ---- Intent dump ---- // ---- Intent dump ---- try { System.out.println("XXIIXX:111"); String mid_str = this.getIntent().getExtras().getString("com.zoffcc.applications.zanavi.mid"); System.out.println("XXIIXX:111a:mid_str=" + mid_str); if (mid_str != null) { if (mid_str.equals("201:UPDATE-APP")) { // a new ZANavi version is available, show something to the user here ------------------- // a new ZANavi version is available, show something to the user here ------------------- // a new ZANavi version is available, show something to the user here ------------------- // a new ZANavi version is available, show something to the user here ------------------- // a new ZANavi version is available, show something to the user here ------------------- // a new ZANavi version is available, show something to the user here ------------------- } else if (mid_str.startsWith("202:UPDATE-MAP:")) { System.out.println("need to update1:" + mid_str); System.out.println("need to update2:" + mid_str.substring(15)); auto_start_update_map(mid_str.substring(15)); } } System.out.println("XXIIXX:111b:mid_str=" + mid_str); } catch (Exception e) { e.printStackTrace(); System.out.println("XXIIXX:111:EEEE"); } try { System.out.println("XXIIXX:" + this.getIntent()); Bundle bundle77 = this.getIntent().getExtras(); System.out.println("XXIIXX:" + intent_flags_to_string(this.getIntent().getFlags())); if (bundle77 == null) { System.out.println("XXIIXX:" + "null"); } else { for (String key : bundle77.keySet()) { Object value = bundle77.get(key); System.out.println("XXIIXX:" + String.format("%s %s (%s)", key, value.toString(), value.getClass().getName())); } } } catch (Exception ee22) { String exst = Log.getStackTraceString(ee22); System.out.println("XXIIXX:ERR:" + exst); } // ---- Intent dump ---- // ---- Intent dump ---- // ---- Intent dump ---- // ---- Intent dump ---- is_paused = false; Navit_doubleBackToExitPressedOnce = false; app_window = getWindow(); Log.e("Navit", "OnResume"); while (Global_Init_Finished == 0) { Log.e("Navit", "OnResume:Global_Init_Finished==0 !!!!!"); try { Thread.sleep(30, 0); // sleep } catch (InterruptedException e) { } } //InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); cwthr.NavitActivity2(1); try { NSp.resume_me(); } catch (Exception e) { e.printStackTrace(); } NavitVehicle.turn_on_sat_status(); try { if (wl != null) { // try // { // wl.release(); // } // catch (Exception e2) // { // } wl.acquire(); Log.e("Navit", "WakeLock: acquire 2"); } } catch (Exception e) { e.printStackTrace(); } //Intent caller = this.getIntent(); //System.out.println("A=" + caller.getAction() + " D=" + caller.getDataString()); //System.out.println("C=" + caller.getComponent().flattenToString()); if (unsupported) { class CustomListener implements View.OnClickListener { private final Dialog dialog; public CustomListener(Dialog dialog) { this.dialog = dialog; } @Override public void onClick(View v) { // Do whatever you want here // If you want to close the dialog, uncomment the line below //dialog.dismiss(); } } AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setTitle("WeltBild Tablet"); dialog.setCancelable(false); dialog.setMessage("Your device is not supported!"); dialog.show(); //Button theButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE); //theButton.setOnClickListener(new CustomListener(dialog)); } // reset "maps too old" flag Navit_maps_too_old = false; if (Navit_maps_loaded == false) { Navit_maps_loaded = true; // activate all maps Log.e("Navit", "**** LOAD ALL MAPS **** start"); Message msg3 = new Message(); Bundle b3 = new Bundle(); b3.putInt("Callback", 20); msg3.setData(b3); NavitGraphics.callback_handler.sendMessage(msg3); Log.e("Navit", "**** LOAD ALL MAPS **** end"); } try { NavitGraphics.no_maps_container.setVisibility(View.INVISIBLE); // if (!have_maps_installed()) // { // // System.out.println("MMMM=no maps installed"); // // show semi transparent box "no maps installed" ------------------ // // show semi transparent box "no maps installed" ------------------ // NavitGraphics.no_maps_container.setVisibility(View.VISIBLE); // try // { // NavitGraphics.no_maps_container.setActivated(true); // } // catch (NoSuchMethodError e) // { // } // // show_case_001(); // // // show semi transparent box "no maps installed" ------------------ // // show semi transparent box "no maps installed" ------------------ // } // else // { // NavitGraphics.no_maps_container.setVisibility(View.INVISIBLE); // try // { // NavitGraphics.no_maps_container.setActivated(false); // } // catch (NoSuchMethodError e) // { // } // } } catch (Exception e) { e.printStackTrace(); } try { // draw map no-async Message msg = new Message(); Bundle b = new Bundle(); b.putInt("Callback", 64); msg.setData(b); NavitGraphics.callback_handler.sendMessage(msg); } catch (Exception e) { e.printStackTrace(); } String intent_data = null; try { //Log.e("Navit", "**9**A " + startup_intent.getAction()); //Log.e("Navit", "**9**D " + startup_intent.getDataString()); int type = 1; // default = assume it's a map coords intent try { String si = startup_intent.getDataString(); String tmp2 = si.split(":", 2)[0]; Log.e("Navit", "**9a**A " + startup_intent.getAction()); Log.e("Navit", "**9a**D " + startup_intent.getDataString() + " " + tmp2); if (tmp2.equals("file")) { Log.e("Navit", "**9b**D " + startup_intent.getDataString() + " " + tmp2); if (si.toLowerCase().endsWith(".gpx")) { Log.e("Navit", "**9c**D " + startup_intent.getDataString() + " " + tmp2); type = 4; } } } catch (Exception e2) { } if (type != 4) { Bundle extras = startup_intent.getExtras(); // System.out.println("DH:001"); if (extras != null) { // System.out.println("DH:002"); long l = extras.getLong("com.zoffcc.applications.zanavi.ZANAVI_INTENT_type"); // System.out.println("DH:003 l=" + l); if (l != 0L) { // System.out.println("DH:004"); if (l == Navit.NAVIT_START_INTENT_DRIVE_HOME) { // System.out.println("DH:005"); type = 2; // call from drive-home-widget } // ok, now remove that key extras.remove("com.zoffcc.applications.zanavi"); startup_intent.replaceExtras((Bundle) null); // System.out.println("DH:006"); } } } // ------------------------ BIG LOOP ------------------------ // ------------------------ BIG LOOP ------------------------ if (type == 2) { // drive home // check if we have a home location int home_id = find_home_point(); if (home_id != -1) { Message msg7 = progress_handler.obtainMessage(); Bundle b7 = new Bundle(); msg7.what = 2; // long Toast message b7.putString("text", Navit.get_text("driving to Home Location")); //TRANS msg7.setData(b7); progress_handler.sendMessage(msg7); // clear any previous destinations Message msg2 = new Message(); Bundle b2 = new Bundle(); b2.putInt("Callback", 7); msg2.setData(b2); NavitGraphics.callback_handler.sendMessage(msg2); // set position to middle of screen ----------------------- // set position to middle of screen ----------------------- // set position to middle of screen ----------------------- // Message msg67 = new Message(); // Bundle b67 = new Bundle(); // b67.putInt("Callback", 51); // b67.putInt("x", (int) (NavitGraphics.Global_dpi_factor * Navit.NG__map_main.view.getWidth() / 2)); // b67.putInt("y", (int) (NavitGraphics.Global_dpi_factor * Navit.NG__map_main.view.getHeight() / 2)); // msg67.setData(b67); // N_NavitGraphics.callback_handler.sendMessage(msg67); // set position to middle of screen ----------------------- // set position to middle of screen ----------------------- // set position to middle of screen ----------------------- try { Thread.sleep(60); } catch (Exception e) { } Navit.destination_set(); // set destination to home location // String lat = String.valueOf(map_points.get(home_id).lat); // String lon = String.valueOf(map_points.get(home_id).lon); // String q = map_points.get(home_id).point_name; route_wrapper(map_points.get(home_id).point_name, 0, 0, false, map_points.get(home_id).lat, map_points.get(home_id).lon, true); final Thread zoom_to_route_001 = new Thread() { int wait = 1; int count = 0; int max_count = 60; @Override public void run() { while (wait == 1) { try { if ((NavitGraphics.navit_route_status == 17) || (NavitGraphics.navit_route_status == 33)) { zoom_to_route(); wait = 0; } else { wait = 1; } count++; if (count > max_count) { wait = 0; } else { Thread.sleep(400); } } catch (Exception e) { } } } }; zoom_to_route_001.start(); // try // { // show_geo_on_screen(Float.parseFloat(lat), Float.parseFloat(lon)); // } // catch (Exception e2) // { // e2.printStackTrace(); // } try { Navit.follow_button_on(); } catch (Exception e2) { e2.printStackTrace(); } } else { // no home location set Message msg = progress_handler.obtainMessage(); Bundle b = new Bundle(); msg.what = 2; // long Toast message b.putString("text", Navit.get_text("No Home Location set")); //TRANS msg.setData(b); progress_handler.sendMessage(msg); } } else if (type == 4) { if (startup_intent != null) { // Log.e("Navit", "**7**A " + startup_intent.getAction() + System.currentTimeMillis() + " " + Navit.startup_intent_timestamp); if (System.currentTimeMillis() <= Navit.startup_intent_timestamp + 4000L) { Log.e("Navit", "**7**A " + startup_intent.getAction()); Log.e("Navit", "**7**D " + startup_intent.getDataString()); intent_data = startup_intent.getDataString(); try { intent_data = java.net.URLDecoder.decode(intent_data, "UTF-8"); } catch (Exception e1) { e1.printStackTrace(); } // we consumed the intent, so reset timestamp value to avoid double consuming of event Navit.startup_intent_timestamp = 0L; if (intent_data != null) { // file:///mnt/sdcard/zanavi_pos_recording_347834278.gpx String tmp1; tmp1 = intent_data.split(":", 2)[1].substring(2); Log.e("Navit", "**7**f=" + tmp1); // convert gpx file --------------------- convert_gpx_file_real(tmp1); } } } } else if (type == 1) { if (startup_intent != null) { if (System.currentTimeMillis() <= Navit.startup_intent_timestamp + 4000L) { Log.e("Navit", "**2**A " + startup_intent.getAction()); Log.e("Navit", "**2**D " + startup_intent.getDataString()); intent_data = startup_intent.getDataString(); // we consumed the intent, so reset timestamp value to avoid double consuming of event Navit.startup_intent_timestamp = 0L; if (intent_data != null) { // set position to middle of screen ----------------------- // set position to middle of screen ----------------------- // set position to middle of screen ----------------------- // Message msg67 = new Message(); // Bundle b67 = new Bundle(); // b67.putInt("Callback", 51); // b67.putInt("x", (int) (NavitGraphics.Global_dpi_factor * Navit.NG__map_main.view.getWidth() / 2)); // b67.putInt("y", (int) (NavitGraphics.Global_dpi_factor * Navit.NG__map_main.view.getHeight() / 2)); // msg67.setData(b67); // N_NavitGraphics.callback_handler.sendMessage(msg67); // set position to middle of screen ----------------------- // set position to middle of screen ----------------------- // set position to middle of screen ----------------------- } } else { Log.e("Navit", "timestamp for navigate_to expired! not using data"); } } System.out.println("SUI:000a " + intent_data); if ((intent_data != null) && ((substring_without_ioobe(intent_data, 0, 18) .equals("google.navigation:")) || (substring_without_ioobe(intent_data, 0, 23).equals("http://maps.google.com/")) || (substring_without_ioobe(intent_data, 0, 24).equals("https://maps.google.com/")))) { System.out.println("SUI:000b"); // better use regex later, but for now to test this feature its ok :-) // better use regex later, but for now to test this feature its ok :-) // g: google.navigation:///?ll=49.4086,17.4855&entry=w&opt= // d: google.navigation:q=blabla-strasse # (this happens when you are offline, or from contacts) // b: google.navigation:q=48.25676,16.643 // a: google.navigation:ll=48.25676,16.643&q=blabla-strasse // e: google.navigation:ll=48.25676,16.643&title=blabla-strasse // sample: -> google.navigation:ll=48.026096,16.023993&title=N%C3%B6stach+43%2C+2571+N%C3%B6stach&entry=w // -> google.navigation:ll=48.014413,16.005579&title=Hainfelder+Stra%C3%9Fe+44%2C+2571%2C+Austria&entry=w // f: google.navigation:ll=48.25676,16.643&... // c: google.navigation:ll=48.25676,16.643 // h: http://maps.google.com/?q=48.222210,16.387058&z=16 // i: https://maps.google.com/?q=48.222210,16.387058&z=16 // i:,h: https://maps.google.com/maps/place?ftid=0x476d07075e933fc5:0xccbeba7fe1e3dd36&q=48.222210,16.387058&ui=maps_mini // // ??!!new??!!: http://maps.google.com/?cid=10549738100504591748&hl=en&gl=gb String lat; String lon; String q; String temp1 = null; String temp2 = null; String temp3 = null; boolean parsable = false; boolean unparsable_info_box = true; try { intent_data = java.net.URLDecoder.decode(intent_data, "UTF-8"); } catch (Exception e1) { e1.printStackTrace(); } // DEBUG // DEBUG // DEBUG // intent_data = "google.navigation:q=Wien Burggasse 27"; // intent_data = "google.navigation:q=48.25676,16.643"; // intent_data = "google.navigation:ll=48.25676,16.643&q=blabla-strasse"; // intent_data = "google.navigation:ll=48.25676,16.643"; // DEBUG // DEBUG // DEBUG try { Log.e("Navit", "found DEBUG 1: " + intent_data.substring(0, 20)); Log.e("Navit", "found DEBUG 2: " + intent_data.substring(20, 22)); Log.e("Navit", "found DEBUG 3: " + intent_data.substring(20, 21)); Log.e("Navit", "found DEBUG 4: " + intent_data.split("&").length); Log.e("Navit", "found DEBUG 4.1: yy" + intent_data.split("&")[1].substring(0, 1).toLowerCase() + "yy"); Log.e("Navit", "found DEBUG 5: xx" + intent_data.split("&")[1] + "xx"); } catch (Exception e) { e.printStackTrace(); } if (!Navit.NavitStartupAlreadySearching) { if (intent_data.length() > 19) { // if h: then show target if (substring_without_ioobe(intent_data, 0, 23).equals("http://maps.google.com/")) { Uri uri = Uri.parse(intent_data); Log.e("Navit", "target found (h): " + uri.getQueryParameter("q")); parsable = true; intent_data = "google.navigation:ll=" + uri.getQueryParameter("q") + "&q=Target"; } // if i: then show target else if (substring_without_ioobe(intent_data, 0, 24) .equals("https://maps.google.com/")) { Uri uri = Uri.parse(intent_data); Log.e("Navit", "target found (i): " + uri.getQueryParameter("q")); parsable = true; intent_data = "google.navigation:ll=" + uri.getQueryParameter("q") + "&q=Target"; } // if d: then start target search else if ((substring_without_ioobe(intent_data, 0, 20).equals("google.navigation:q=")) && ((!substring_without_ioobe(intent_data, 20, 21).equals('+')) && (!substring_without_ioobe(intent_data, 20, 21).equals('-')) && (!substring_without_ioobe(intent_data, 20, 22) .matches("[0-9][0-9]")))) { Log.e("Navit", "target found (d): " + intent_data.split("q=", -1)[1]); Navit.NavitStartupAlreadySearching = true; start_targetsearch_from_intent(intent_data.split("q=", -1)[1]); // dont use this here, already starting search, so set to "false" parsable = false; unparsable_info_box = false; } // if b: then remodel the input string to look like a: else if (substring_without_ioobe(intent_data, 0, 20).equals("google.navigation:q=")) { intent_data = "ll=" + intent_data.split("q=", -1)[1] + "&q=Target"; Log.e("Navit", "target found (b): " + intent_data); parsable = true; } // if g: [google.navigation:///?ll=49.4086,17.4855&...] then remodel the input string to look like a: else if (substring_without_ioobe(intent_data, 0, 25) .equals("google.navigation:///?ll=")) { intent_data = "google.navigation:ll=" + intent_data.split("ll=", -1)[1].split("&", -1)[0] + "&q=Target"; Log.e("Navit", "target found (g): " + intent_data); parsable = true; } // if e: then remodel the input string to look like a: else if ((substring_without_ioobe(intent_data, 0, 21).equals("google.navigation:ll=")) && (intent_data.split("&").length > 1) && (substring_without_ioobe(intent_data.split("&")[1], 0, 1).toLowerCase() .equals("f"))) { int idx = intent_data.indexOf("&"); intent_data = substring_without_ioobe(intent_data, 0, idx) + "&q=Target"; Log.e("Navit", "target found (e): " + intent_data); parsable = true; } // if f: then remodel the input string to look like a: else if ((substring_without_ioobe(intent_data, 0, 21).equals("google.navigation:ll=")) && (intent_data.split("&").length > 1)) { int idx = intent_data.indexOf("&"); intent_data = intent_data.substring(0, idx) + "&q=Target"; Log.e("Navit", "target found (f): " + intent_data); parsable = true; } // already looks like a: just set flag else if ((substring_without_ioobe(intent_data, 0, 21).equals("google.navigation:ll=")) && (intent_data.split("&q=").length > 1)) { // dummy, just set the flag Log.e("Navit", "target found (a): " + intent_data); Log.e("Navit", "target found (a): " + intent_data.split("&q=").length); parsable = true; } // if c: then remodel the input string to look like a: else if ((substring_without_ioobe(intent_data, 0, 21).equals("google.navigation:ll=")) && (intent_data.split("&q=").length < 2)) { intent_data = intent_data + "&q=Target"; Log.e("Navit", "target found (c): " + intent_data); parsable = true; } } } else { Log.e("Navit", "already started search from startup intent"); parsable = false; unparsable_info_box = false; } if (parsable) { // now string should be in form --> a: // now split the parts off temp1 = intent_data.split("&q=", -1)[0]; try { temp3 = temp1.split("ll=", -1)[1]; temp2 = intent_data.split("&q=", -1)[1]; } catch (Exception e) { // java.lang.ArrayIndexOutOfBoundsException most likely // so let's assume we dont have '&q=xxxx' temp3 = temp1; } if (temp2 == null) { // use some default name temp2 = "Target"; } lat = temp3.split(",", -1)[0]; lon = temp3.split(",", -1)[1]; q = temp2; // is the "search name" url-encoded? i think so, lets url-decode it here q = URLDecoder.decode(q); // System.out.println(); Navit.remember_destination(q, lat, lon); Navit.destination_set(); Message msg = new Message(); Bundle b = new Bundle(); b.putInt("Callback", 3); b.putString("lat", lat); b.putString("lon", lon); b.putString("q", q); msg.setData(b); NavitGraphics.callback_handler.sendMessage(msg); final Thread zoom_to_route_002 = new Thread() { int wait = 1; int count = 0; int max_count = 60; @Override public void run() { while (wait == 1) { try { if ((NavitGraphics.navit_route_status == 17) || (NavitGraphics.navit_route_status == 33)) { zoom_to_route(); wait = 0; } else { wait = 1; } count++; if (count > max_count) { wait = 0; } else { Thread.sleep(400); } } catch (Exception e) { } } } }; zoom_to_route_002.start(); // try // { // Thread.sleep(400); // } // catch (InterruptedException e) // { // } // // // try // // { // // show_geo_on_screen(Float.parseFloat(lat), Float.parseFloat(lon)); // // } // // catch (Exception e2) // // { // // e2.printStackTrace(); // // } try { Navit.follow_button_on(); } catch (Exception e2) { e2.printStackTrace(); } } else { if (unparsable_info_box && !searchBoxShown) { try { searchBoxShown = true; String searchString = intent_data.split("q=")[1]; searchString = searchString.split("&")[0]; searchString = URLDecoder.decode(searchString); // decode the URL: e.g. %20 -> space Log.e("Navit", "Search String :" + searchString); executeSearch(searchString); } catch (Exception e) { // safety net try { Log.e("Navit", "problem with startup search 7 str=" + intent_data); } catch (Exception e2) { e2.printStackTrace(); } } } } } else if ((intent_data != null) && (substring_without_ioobe(intent_data, 0, 10).equals("geo:0,0?q="))) { // g: geo:0,0?q=wien%20burggasse System.out.println("SUI:001"); boolean parsable = false; boolean unparsable_info_box = true; try { intent_data = java.net.URLDecoder.decode(intent_data, "UTF-8"); } catch (Exception e1) { e1.printStackTrace(); } System.out.println("SUI:002"); if (!Navit.NavitStartupAlreadySearching) { if (intent_data.length() > 10) { // if g: then start target search Log.e("Navit", "target found (g): " + intent_data.split("q=", -1)[1]); Navit.NavitStartupAlreadySearching = true; start_targetsearch_from_intent(intent_data.split("q=", -1)[1]); // dont use this here, already starting search, so set to "false" parsable = false; unparsable_info_box = false; } } else { Log.e("Navit", "already started search from startup intent"); parsable = false; unparsable_info_box = false; } if (unparsable_info_box && !searchBoxShown) { try { searchBoxShown = true; String searchString = intent_data.split("q=")[1]; searchString = searchString.split("&")[0]; searchString = URLDecoder.decode(searchString); // decode the URL: e.g. %20 -> space Log.e("Navit", "Search String :" + searchString); executeSearch(searchString); } catch (Exception e) { // safety net try { Log.e("Navit", "problem with startup search 88 str=" + intent_data); } catch (Exception e2) { e2.printStackTrace(); } } } } else if ((intent_data != null) && (substring_without_ioobe(intent_data, 0, 4).equals("geo:"))) { // g: geo:16.8,46.3?z=15 System.out.println("SUI:002a"); boolean parsable = false; boolean unparsable_info_box = true; String tmp1; String tmp2; String tmp3; float lat1 = 0; float lon1 = 0; int zoom1 = 15; try { intent_data = java.net.URLDecoder.decode(intent_data, "UTF-8"); } catch (Exception e1) { e1.printStackTrace(); } if (!Navit.NavitStartupAlreadySearching) { try { tmp1 = intent_data.split(":", 2)[1]; tmp2 = tmp1.split("\\?", 2)[0]; tmp3 = tmp1.split("\\?", 2)[1]; lat1 = Float.parseFloat(tmp2.split(",", 2)[0]); lon1 = Float.parseFloat(tmp2.split(",", 2)[1]); zoom1 = Integer.parseInt(tmp3.split("z=", 2)[1]); parsable = true; } catch (Exception e4) { e4.printStackTrace(); } } if (parsable) { // geo: intent -> only show destination on map! // set nice zoomlevel before we show destination // int zoom_want = zoom1; // // // Message msg = new Message(); // Bundle b = new Bundle(); // b.putInt("Callback", 33); // b.putString("s", Integer.toString(zoom_want)); // msg.setData(b); // try // { // N_NavitGraphics.callback_handler.sendMessage(msg); // Navit.GlobalScaleLevel = Navit_SHOW_DEST_ON_MAP_ZOOMLEVEL; // if ((zoom_want > 8) && (zoom_want < 17)) // { // Navit.GlobalScaleLevel = (int) (Math.pow(2, (18 - zoom_want))); // System.out.println("GlobalScaleLevel=" + Navit.GlobalScaleLevel); // } // } // catch (Exception e) // { // e.printStackTrace(); // } // if (PREF_save_zoomlevel) // { // setPrefs_zoomlevel(); // } // set nice zoomlevel before we show destination try { Navit.follow_button_off(); } catch (Exception e2) { e2.printStackTrace(); } show_geo_on_screen(lat1, lon1); // final Thread zoom_to_route_003 = new Thread() // { // @Override // public void run() // { // try // { // Thread.sleep(200); // show_geo_on_screen(lat1, lon1); // } // catch (Exception e) // { // } // } // }; // zoom_to_route_003.start(); } } } System.out.println("SUI:099 XX" + substring_without_ioobe(intent_data, 0, 10) + "XX"); // clear intent startup_intent = null; // ------------------------ BIG LOOP ------------------------ // ------------------------ BIG LOOP ------------------------ } catch (Exception e) { e.printStackTrace(); System.out.println("SUI:199"); } // clear intent startup_intent = null; // hold all map drawing ----------- Message msg = new Message(); Bundle b = new Bundle(); b.putInt("Callback", 69); msg.setData(b); try { NavitGraphics.callback_handler.sendMessage(msg); } catch (Exception e) { } // hold all map drawing ----------- getPrefs(); activatePrefs(); sun_moon__mLastCalcSunMillis = -1L; push_pin_view = (ImageView) findViewById(R.id.bottom_slide_left_side); if (p.PREF_follow_gps) { push_pin_view.setImageResource(R.drawable.pin1_down); } else { push_pin_view.setImageResource(R.drawable.pin1_up); } // paint for bitmapdrawing on map if (p.PREF_use_anti_aliasing) { NavitGraphics.paint_for_map_display.setAntiAlias(true); } else { NavitGraphics.paint_for_map_display.setAntiAlias(false); } if (p.PREF_use_map_filtering) { NavitGraphics.paint_for_map_display.setFilterBitmap(true); } else { NavitGraphics.paint_for_map_display.setFilterBitmap(false); } // activate gps AFTER 3g-location NavitVehicle.turn_on_precise_provider(); // allow all map drawing ----------- msg = new Message(); b = new Bundle(); b.putInt("Callback", 70); msg.setData(b); try { NavitGraphics.callback_handler.sendMessage(msg); } catch (Exception e) { } // allow all map drawing ----------- // --- disabled --- NavitVehicle.set_last_known_pos_fast_provider(); try { //Simulate = new SimGPS(NavitVehicle.vehicle_handler_); //Simulate.start(); } catch (Exception e) { e.printStackTrace(); } try { watchmem = new WatchMem(); watchmem.start(); } catch (Exception e) { e.printStackTrace(); } // ----- check if we have some index files downloaded ----- if (api_version_int < 11) { if (Navit.have_maps_installed()) { if (Navit_maps_too_old) { TextView no_maps_text = (TextView) this.findViewById(R.id.no_maps_text); no_maps_text.setText("\n\n\n" + Navit.get_text("Some Maps are too old!") + "\n" + Navit.get_text("Please update your maps") + "\n\n"); try { NavitGraphics.no_maps_container.setVisibility(View.VISIBLE); try { NavitGraphics.no_maps_container.setActivated(true); } catch (NoSuchMethodError e) { } NavitGraphics.no_maps_container.bringToFront(); } catch (Exception e) { e.printStackTrace(); } } else { allow_use_index_search(); if (Navit_index_on_but_no_idx_files) { TextView no_maps_text = (TextView) this.findViewById(R.id.no_maps_text); no_maps_text.setText("\n\n\n" + Navit.get_text("No Index for some Maps") + "\n" + Navit.get_text("Please update your maps") + "\n\n"); try { NavitGraphics.no_maps_container.setVisibility(View.VISIBLE); try { NavitGraphics.no_maps_container.setActivated(true); } catch (NoSuchMethodError e) { } NavitGraphics.no_maps_container.bringToFront(); } catch (Exception e) { e.printStackTrace(); } } else { try { NavitGraphics.no_maps_container.setVisibility(View.INVISIBLE); try { NavitGraphics.no_maps_container.setActivated(false); } catch (NoSuchMethodError e) { } } catch (Exception e) { e.printStackTrace(); } } } } } else { try { NavitGraphics.no_maps_container.setVisibility(View.INVISIBLE); try { NavitGraphics.no_maps_container.setActivated(false); } catch (NoSuchMethodError e) { } } catch (Exception e) { e.printStackTrace(); } } // ----- check if we have some index files downloaded ----- // ---- DEBUG ---- // ---- DEBUG ---- // ---- DEBUG ---- try { if (!NavitVehicle.is_pos_recording) { if (p.PREF_enable_debug_write_gpx) { NavitVehicle.pos_recording_start(); NavitVehicle.pos_recording_add(0, 0, 0, 0, 0, 0); } } } catch (Exception e) { } // ---- DEBUG ---- // ---- DEBUG ---- // ---- DEBUG ---- // glSurfaceView.onResume(); // if (Navit.METHOD_DEBUG) Navit.my_func_name(1); if (Navit.CIDEBUG == 1) { new Thread() { public void run() { try { System.out.println("DR_run_all_yaml_tests --> want"); if (CIRUN == false) { System.out.println("DR_run_all_yaml_tests --> do"); CIRUN = true; Thread.sleep(20000); // 20 secs. ZANaviDebugReceiver.DR_run_all_yaml_tests(); } } catch (Exception e) { } } }.start(); } }