List of usage examples for android.os Bundle remove
public void remove(String key)
From source file:com.example.android.gcncouponalert.app.CouponsFragment.java
@Override public void onLoadFinished(Loader<Cursor> loader, Cursor data) { Log.d(LOG_TAG, "onLoadFinished: " + data.getCount()); mCouponsAdapter.swapCursor(data);//from w w w . j av a 2s . c om //Bundle extras = getActivity().getIntent().getExtras(); Bundle extras = this.getArguments(); if (extras != null) { if (extras.containsKey("coupon_id")) { long coupon_id = extras.getLong("coupon_id"); Log.d(LOG_TAG, "Intent! coupon_id: " + coupon_id); if (null != mCouponsAdapter) { //Log.d(LOG_TAG,"Intent! mCouponsAdapter OK"); Cursor c = mCouponsAdapter.getCursor(); if (null != c) { //Log.d(LOG_TAG,"Intent! Cursor c OK"); if (c.moveToFirst()) { //Log.d(LOG_TAG,"Intent! Cursor c has data OK"); while (!c.isAfterLast()) { //Log.d(LOG_TAG,"Intent! is "+c.getLong(COL_COUPON_ID)+" == "+coupon_id+" ?"); if (c.getLong(COL_COUPON_ID) == coupon_id) { mPosition = c.getPosition(); break; } c.moveToNext(); } } } } //getActivity().getIntent().removeExtra("coupon_id"); extras.remove("coupon_id"); } } //Log.d(LOG_TAG,"Intent! mPosition: "+mPosition); if (mPosition != ListView.INVALID_POSITION) { // If we don't need to restart the loader, and there's a desired position to restore // to, do so now. int offset = 0; //mListView.smoothScrollToPositionFromTop(mPosition, offset, 100); mListView.setSelection(mPosition); } }
From source file:com.nbplus.vbroadlauncher.RadioActivity.java
public void handleMessage(Message msg) { if (msg == null) { return;// www. j av a2 s. c o m } switch (msg.what) { // ?? . case Constants.HANDLER_MESSAGE_GET_RADIO_CHANNEL_TASK: RadioChannelInfo data = (RadioChannelInfo) msg.obj; dismissProgressDialog(); if (data != null && Constants.RESULT_OK.equals(data.getResultCode())) { mRadioChannelItems = data.getRadioChannelList(); if (mRadioChannelItems == null) { mRadioChannelItems = new ArrayList<>(); } } else { if (mRadioChannelItems == null) { mRadioChannelItems = new ArrayList<>(); } if (data == null) { data = new RadioChannelInfo(); data.setResultMessage(getString(R.string.server_connection_error)); } Intent i = new Intent(this, MusicService.class); i.setAction(MusicService.ACTION_STOP); i.putExtra(MusicService.EXTRA_MUSIC_FORCE_STOP, true); startService(i); AlertDialog.Builder alert = new AlertDialog.Builder(this); alert.setPositiveButton(R.string.alert_ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); //finish(); } }); alert.setMessage(data.getResultMessage()); try { alert.show(); } catch (Exception e) { } } mIsExecuteGetRadioChannelTask = false; getRadioChannelTask = null; setupRadioChannelPager(); break; // ?? ? . ? ?? case Constants.HANDLER_MESSAGE_PLAY_RADIO_CHANNEL_TIMEOUT: Intent i = new Intent(this, MusicService.class); i.setAction(MusicService.ACTION_STOP); i.putExtra(MusicService.EXTRA_MUSIC_FORCE_STOP, true); startService(i); break; // case HANDLER_MESSAGE_STREAM_MUSIC_VOLUME_CHANGE: int currentVolume = msg.arg1; if (currentVolume <= 0) { mSoundToggle.setBackgroundResource(R.drawable.ic_button_radio_sound_off); } else { mSoundToggle.setBackgroundResource(R.drawable.ic_button_radio_sound_on); } mSeekbar.setProgress(currentVolume); break; // ? case HANDLER_MESSAGE_MUSIC_SERVICE_ACTION: Bundle b = msg.getData(); if (b == null) { Log.i(TAG, "HANDLER_MESSAGE_MUSIC_SERVICE_ACTION bundle is not found!!"); return; } String action = b.getString(MusicService.EXTRA_ACTION); MusicService.State state = (MusicService.State) b.getSerializable(MusicService.EXTRA_PLAYING_STATUS); MusicRetriever.Item item = b.getParcelable(MusicService.EXTRA_MUSIC_ITEM); if (state == MusicService.State.Playing) { mPlayToggle.setBackgroundResource(R.drawable.ic_btn_radio_pause_selector); mRadioTitle.setText(item.getTitle()); } else if (state == MusicService.State.Paused) { mPlayToggle.setBackgroundResource(R.drawable.ic_btn_radio_play_selector); mRadioTitle.setText(item.getTitle()); } else if (state == MusicService.State.Stopped) { mPlayToggle.setBackgroundResource(R.drawable.ic_btn_radio_play_selector); b.remove(MusicService.EXTRA_MUSIC_ITEM); mRadioTitle.setText(R.string.activity_radio_default_title); } else { mRadioTitle.setText(R.string.activity_radio_default_title); } mCurrentPlayingStatus = b; for (int idx = 0; idx < mActivityInteractionListener.size(); idx++) { mActivityInteractionListener.get(idx).onPlayItemChanged(b); } if (!mIsExecuteGetRadioChannelTask) { mHandler.sendEmptyMessageDelayed(HANDLER_MESSAGE_HIDE_PROGRESS_DIALOG, 1500); } break; // case HANDLER_MESSAGE_HIDE_PROGRESS_DIALOG: dismissProgressDialog(); break; } }
From source file:org.alfresco.mobile.android.application.fragments.properties.DetailsFragment.java
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { setRetainInstance(false);/*from ww w.j a v a2s . co m*/ container.setVisibility(View.VISIBLE); alfSession = SessionUtils.getSession(getActivity()); if (!getArguments().containsKey(ARGUMENT_ISFAVORITE)) { SessionUtils.checkSession(getActivity(), alfSession); } vRoot = inflater.inflate(R.layout.app_details, container, false); if (!getArguments().containsKey(ARGUMENT_ISFAVORITE)) { if (alfSession == null) { return vRoot; } } node = (Node) getArguments().get(ARGUMENT_NODE); nodeIdentifier = (String) getArguments().get(ARGUMENT_NODE_ID); parentNode = (Folder) getArguments().get(ARGUMENT_NODE_PARENT); if (node == null && nodeIdentifier == null) { return null; } // TAB if (savedInstanceState != null) { tabSelection = savedInstanceState.getInt(TAB_SELECTED); savedInstanceState.remove(TAB_SELECTED); } return vRoot; }
From source file:com.eleybourn.bookcatalogue.utils.Utils.java
/** * If there is a '__thumbnails' key, pick the largest image, rename it * and delete the others. Finally, remove the key. * //from w ww.j a va 2 s. com * @param result Book data */ static public void cleanupThumbnails(Bundle result) { if (result.containsKey("__thumbnail")) { long best = -1; int bestFile = -1; // Parse the list ArrayList<String> files = Utils.decodeList(result.getString("__thumbnail"), '|'); // Just read the image files to get file size BitmapFactory.Options opt = new BitmapFactory.Options(); opt.inJustDecodeBounds = true; // Scan, finding biggest for (int i = 0; i < files.size(); i++) { String filespec = files.get(i); File file = new File(filespec); if (file.exists()) { BitmapFactory.decodeFile(filespec, opt); // If no size info, assume file bad and skip if (opt.outHeight > 0 && opt.outWidth > 0) { long size = opt.outHeight * opt.outWidth; if (size > best) { best = size; bestFile = i; } } } } // Delete all but the best one. Note there *may* be no best one, // so all would be deleted. We do this first in case the list // contains a file with the same name as the target of our // rename. for (int i = 0; i < files.size(); i++) { if (i != bestFile) { File file = new File(files.get(i)); file.delete(); } } // Get the best file (if present) and rename it. if (bestFile >= 0) { File file = new File(files.get(bestFile)); file.renameTo(CatalogueDBAdapter.getTempThumbnail()); } // Finally, cleanup the data result.remove("__thumbnail"); result.putBoolean(CatalogueDBAdapter.KEY_THUMBNAIL, true); } }
From source file:edu.cmu.cylab.starslinger.view.HomeActivity.java
@Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); // save//from w w w . j a v a2 s. co m if (SafeSlinger.getTempCameraFileUri() != null) { outState.putString(extra.FILE_PATH, SafeSlinger.getTempCameraFileUri().getPath()); } final int position = getSupportActionBar().getSelectedNavigationIndex(); outState.putInt(extra.RECOVERY_TAB, position); if (sProg != null && sProg.isShowing()) { outState.putInt(extra.PCT, sProg.isIndeterminate() ? 0 : sProg.getProgress()); outState.putInt(extra.MAX, sProg.isIndeterminate() ? 0 : sProg.getMax()); outState.putString(extra.RESID_MSG, sProgressMsg); } else { outState.remove(extra.PCT); outState.remove(extra.MAX); outState.remove(extra.RESID_MSG); } }
From source file:com.cognizant.trumobi.PersonaLauncher.java
@Override protected void onRestoreInstanceState(Bundle savedInstanceState) { // NOTE: Do NOT do this. Ever. This is a terrible and horrifying hack. ///*from w w w .ja v a 2 s .c o m*/ // Home loads the content of the workspace on a background thread. This // means that // a previously focused view will be, after orientation change, added to // the view // hierarchy at an undeterminate time in the future. If we were to // invoke // super.onRestoreInstanceState() here, the focus restoration would fail // because the // view to focus does not exist yet. // // However, not invoking super.onRestoreInstanceState() is equally bad. // In such a case, // panels would not be restored properly. For instance, if the menu is // open then the // user changes the orientation, the menu would not be opened in the new // orientation. // // To solve both issues Home messes up with the internal state of the // bundle to remove // the properties it does not want to see restored at this moment. After // invoking // super.onRestoreInstanceState(), it removes the panels state. // // Later, when the workspace is done loading, Home calls // super.onRestoreInstanceState() // again to restore focus and other view properties. It will not, // however, restore // the panels since at this point the panels' state has been removed // from the bundle. // // This is a bad example, do not do this. // // If you are curious on how this code was put together, take a look at // the following // in Android's source code: // - Activity.onRestoreInstanceState() // - PhoneWindow.restoreHierarchyState() // - PhoneWindow.DecorView.onAttachedToWindow() // // The source code of these various methods shows what states should be // kept to // achieve what we want here. Bundle windowState = savedInstanceState.getBundle("android:viewHierarchyState"); SparseArray<Parcelable> savedStates = null; int focusedViewId = View.NO_ID; if (windowState != null) { savedStates = windowState.getSparseParcelableArray("android:views"); windowState.remove("android:views"); focusedViewId = windowState.getInt("android:focusedViewId", View.NO_ID); windowState.remove("android:focusedViewId"); } super.onRestoreInstanceState(savedInstanceState); if (windowState != null) { windowState.putSparseParcelableArray("android:views", savedStates); windowState.putInt("android:focusedViewId", focusedViewId); windowState.remove("android:Panels"); } mSavedInstanceState = savedInstanceState; }
From source file:com.codename1.impl.android.AndroidImplementation.java
public static void initPushContent(String message, String image, String messageType, String category, Context context) {//from w w w. j a v a 2 s . com com.codename1.push.PushContent.reset(); int iMessageType = 1; try { iMessageType = Integer.parseInt(messageType); } catch (Throwable t) { } String actionId = null; String reply = null; boolean cancel = true; if (context instanceof Activity) { Activity activity = (Activity) context; Bundle extras = activity.getIntent().getExtras(); if (extras != null) { actionId = extras.getString("pushActionId"); extras.remove("pushActionId"); if (actionId != null && RemoteInputWrapper.isSupported()) { Bundle textExtras = RemoteInputWrapper.getResultsFromIntent(activity.getIntent()); if (textExtras != null) { CharSequence cs = textExtras.getCharSequence(actionId + "$Result"); if (cs != null) { reply = cs.toString(); } } } } } if (cancel) { PushNotificationService.cancelNotification(context); } com.codename1.push.PushContent.setType(iMessageType); com.codename1.push.PushContent.setCategory(category); if (actionId != null) { com.codename1.push.PushContent.setActionId(actionId); } if (reply != null) { com.codename1.push.PushContent.setTextResponse(reply); } switch (iMessageType) { case 1: case 5: com.codename1.push.PushContent.setBody(message); break; case 2: com.codename1.push.PushContent.setMetaData(message); break; case 3: { String[] parts = message.split(";"); com.codename1.push.PushContent.setMetaData(parts[1]); com.codename1.push.PushContent.setBody(parts[0]); break; } case 4: { String[] parts = message.split(";"); com.codename1.push.PushContent.setTitle(parts[0]); com.codename1.push.PushContent.setBody(parts[1]); break; } case 101: { com.codename1.push.PushContent.setBody(message.substring(message.indexOf(" ") + 1)); com.codename1.push.PushContent.setType(1); break; } case 102: { String[] parts = message.split(";"); com.codename1.push.PushContent.setTitle(parts[1]); com.codename1.push.PushContent.setBody(parts[2]); com.codename1.push.PushContent.setType(2); break; } } }
From source file:com.zoffcc.applications.zanavi.Navit.java
@SuppressLint("NewApi") @Override//ww w.j a v a2 s . com 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(); } }