Example usage for android.os Message Message

List of usage examples for android.os Message Message

Introduction

In this page you can find the example usage for android.os Message Message.

Prototype

public Message() 

Source Link

Document

Constructor (but the preferred way to get a Message is to call #obtain() Message.obtain() ).

Usage

From source file:com.nbplus.iotlib.IoTInterface.java

/**
 *
 9 Appendix A  Example of Record Access Control Point Usage
        // w w  w  . j  a  va2s.co  m
 Below is an informative example showing the use of the RACP in the context of the Glucose Profile:
 1. At 04 October 2011 12:40:00 pm (user-facing time internal to the Server i.e., Base Time + Time Offset), the Client requests records for the first time and requests the number of all records stored in the device.
 a. The Client writes Op Code 0x04 to request number of records with an Operator of 0x01 meaning all records? and no Operand.
 b. The Server indicates back Op Code 0x05, an Operator of 0x00 (meaning Null?) and Operand containing the number of all records (0x00F7 in this example)
 2. Immediately after that, the Client requests a report of stored records.
 a. The Client writes Op Code 0x01 to request all records with an Operator of 0x01 meaning
 all records? and no Operand.
 b. The Server notifies all records (Series of Glucose Measurement characteristics followed
 sometimes by Glucose Measurement Context characteristics) where the total number of
 Glucose Measurement characteristics totals 0x00F7.
 c. The Server indicates Op Code 0x06 with an Operator of 0x00 (meaning Null?) and
 Operand of 0x01, 0x01 meaning successful response to Op Code 0x01?.
 d. The Client stores the Sequence Number of the last received record for future use
 (0x00F7 since this was the first use and with the assumption in this example that the
 sequence number of the first record is 0x0001).
 e. Since this is a critical application, the Client performs some post-processing checks to
 make sure no major inconsistencies to the Base Time or Time Offset occurred. The
 Client also checks to see if any numbers in the sequence are missing.
 3. Several days later, the Client requests a report of records since the last update.
 a. The Client writes Op Code 0x01 to request records with an Operator of 0x03 meaning greater than or equal to? and an Operand set to Filter Type 0x01, 0x00F8) that is one number in the sequence more than the Sequence Number from the last record it received.
 b. The Server notifies all records that have accrued since the last request.
 c. The Server indicates Op Code 0x06 with an Operator of 0x00 (meaning Null?) and
 Operand of 0x05, 0x01 meaning successful response to Op Code 0x05?.
 */
private void handleGlucoseMeasurement(int msgWhat, IoTHandleData data) {
    if (data == null) {
        return;
    }
    //   ?  ?.
    // 0. set notify 11e1
    byte[] values = data.getValue();
    if (values == null) {
        Log.w(TAG, "handleGlucoseMeasurement() value is not found..");
    }
    switch (msgWhat) {
    case IoTServiceCommand.DEVICE_SET_NOTIFICATION_RESULT: {
        Log.d(TAG, "handleGlucoseMeasurement() : IoTServiceCommand.DEVICE_SET_NOTIFICATION_RESULT received.");
        proceedDeviceCommand();
        break;
    }
    case IoTServiceCommand.DEVICE_WRITE_DATA_RESULT: {
        Log.d(TAG, "handleGlucoseMeasurement() : IoTServiceCommand.DEVICE_WRITE_DATA_RESULT");
        Log.d(TAG, "values = " + DataParser.getHexString(values));
        mHandler.sendEmptyMessageDelayed(HANDLER_COMMAND_NOT_RESPOND, 2 * 1000);
        break;
    }
    case IoTServiceCommand.DEVICE_NOTIFICATION_DATA: {
        mHandler.removeMessages(HANDLER_COMMAND_NOT_RESPOND);
        Log.d(TAG, "handleGlucoseMeasurement() : IoTServiceCommand.DEVICE_NOTIFICATION_DATA received.");
        String address = data.getDeviceId();
        String characUuid = data.getCharacteristicUuid();
        String serviceUuid = data.getServiceUuid();

        if (GattAttributes.RECORD_ACCESS_CONTROL_POINT.equals(characUuid)) {
            RecordAccessControlPoint recordAccessControlPoint = RecordAccessControlPoint
                    .parseRecordAccessControlPoint(values);
            if (recordAccessControlPoint == null) {
                mHandler.removeMessages(HANDLER_WAIT_FOR_NOTIFY_DATA);
                Message disconnMsg = new Message();
                disconnMsg.what = HANDLER_WAIT_FOR_NOTIFY_DATA;
                disconnMsg.arg1 = 1;
                mHandler.sendMessage(disconnMsg);
                break;
            }

            switch (recordAccessControlPoint.getOpCode()) {
            case Constants.RACP_RES_OP_CODE_NUMBER_OF_STORED_RECORDS:
                int numOfRecords = DataParser.getUint16(recordAccessControlPoint.getOperand());
                Log.d(TAG, ">> RACP_RES_OP_CODE_NUMBER_OF_STORED_RECORDS received : num = " + numOfRecords);
                if (numOfRecords > 0) {
                    proceedDeviceCommand();
                } else {
                    mHandler.removeMessages(HANDLER_WAIT_FOR_NOTIFY_DATA);
                    Message disconnMsg = new Message();
                    disconnMsg.what = HANDLER_WAIT_FOR_NOTIFY_DATA;
                    disconnMsg.arg1 = 1;
                    mHandler.sendMessage(disconnMsg);
                    break;
                }
                break;
            case Constants.RACP_RES_OP_CODE_RESPONSE_CODE:
                byte[] operand = recordAccessControlPoint.getOperand();
                Log.d(TAG, "Constants.RACP_RES_OP_CODE_RESPONSE_CODE = "
                        + DataParser.getHexString(recordAccessControlPoint.getOperand()));
                int cmd = operand[0] & 0xff;
                if (cmd >= Constants.RACP_REQ_OP_CODE_REPORT_STORED_RECORDS
                        && cmd <= Constants.RACP_REQ_OP_CODE_REPORT_NUMBER_OF_STORED_RECORDS) {
                    int respCode = operand[1] & 0xff;

                    if (cmd == Constants.RACP_REQ_OP_CODE_REPORT_STORED_RECORDS) {
                        if (respCode != Constants.RACP_OPERAND_RES_VALUE_SUCCESS) {
                            Log.w(TAG, "RACP req operation failed... ");

                            mHandler.removeMessages(HANDLER_WAIT_FOR_NOTIFY_DATA);
                            Message disconnMsg = new Message();
                            disconnMsg.what = HANDLER_WAIT_FOR_NOTIFY_DATA;
                            disconnMsg.arg1 = 1;
                            mHandler.sendMessage(disconnMsg);
                            break;
                        } else {
                            // end of RACP_REQ_OP_CODE_REPORT_STORED_RECORDS
                            Log.d(TAG, "Send RACP_REQ_OP_CODE_REPORT_STORED_RECORDS");
                            // TODO : ? . Gatt  ? ??... ?.
                            proceedDeviceCommand();
                            break;
                        }
                    } else if (cmd == Constants.RACP_REQ_OP_CODE_DELETE_STORED_RECORDS) {
                        mHandler.removeMessages(HANDLER_WAIT_FOR_NOTIFY_DATA);
                        Message disconnMsg = new Message();
                        disconnMsg.what = HANDLER_WAIT_FOR_NOTIFY_DATA;
                        disconnMsg.arg1 = 1;
                        mHandler.sendMessage(disconnMsg);
                        break;
                    }
                } else {
                    mHandler.removeMessages(HANDLER_WAIT_FOR_NOTIFY_DATA);
                    Message disconnMsg = new Message();
                    disconnMsg.what = HANDLER_WAIT_FOR_NOTIFY_DATA;
                    disconnMsg.arg1 = 1;
                    mHandler.sendMessage(disconnMsg);
                    break;
                }
                break;
            }
        } else if (GattAttributes.GLUCOSE_MEASUREMENT.equals(characUuid)) {
            Log.d(TAG, "Gluecose measurement received....");
            GlucoseMeasurement measurement = GlucoseMeasurement.parseGlucoseMeasurement(values);
            if (measurement != null) {
                // convert to mg/dl...
                long mgdl = 0;
                if (measurement.getFlagsBitValue(
                        GlucoseMeasurement.FlagValueBit.GLUCOSE_CONCENTRATION_UNIT) == Constants.FLAG_VALUE_TRUE) {
                    // mol/L how to...
                    // blood sugar mmol/l -> mg/dl == mgdl * 18
                    //             mol/l -> mmol/l == mol * 1000;
                    float molPerLitre = measurement.getGlucoseConcentration();
                    mgdl = Math.round(molPerLitre * 1000 * 18);
                } else {
                    // kg/m3kg/L   1 kg/L = 1000 kg/m3
                    // kg/m3mg/dL   1 kg/m3 = 100 mg/dL
                    // ==> mg/dLkg/L   1 kg/L = 100000 mg/dL
                    float kgPerLitre = measurement.getGlucoseConcentration();
                    mgdl = Math.round(kgPerLitre * 1.0E05);
                }

                IoTCollectedData.IoTData iotData = new IoTCollectedData.IoTData();
                iotData.setIotDeviceId(address);
                SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmm");
                Calendar calendar = measurement.getBaseTime();
                iotData.setDate(df.format(calendar.getTime()));
                iotData.setValue(Long.toString(mgdl));

                try {
                    mBondedWithServerList.get(mCurrentRetrieveDevice.getDeviceId())
                            .setLastSequenceNumber(measurement.getSequenceNumber());
                    // save to preference.
                    String json = mGson.toJson(mBondedWithServerList);
                    if (json != null) {
                        IoTServicePreference.setIoTDevicesList(mCtx, json);
                    }
                } catch (Exception e) {

                }
                mCollectedData.addIoTData(iotData);
                Log.d(TAG, "Gluecose measurement : seq = " + measurement.getSequenceNumber() + "value = " + mgdl
                        + "" + " mg/dl, timestamp = " + iotData.getDate());

                mCollectedData.addIoTData(iotData);
            }
        }
        break;
    }
    }

}

From source file:com.zoffcc.applications.zanavi.Navit.java

protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);

    try {//  ww w . j a  v a2  s .  c  o  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//from  w  w  w  . j a va 2 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();
    }
}

From source file:com.roiland.crm.sm.ui.view.ScOppoInfoFragment.java

private void checkOrderInfo() {
    project.setPurchaseCarIntention(getUpdatedPurchaseCar());
    if (!project.getPurchaseCarIntention().getBrandCode()
            .equals(mHasProjectActive.getPurchaseCarIntention().getBrandCode())
            || !project.getPurchaseCarIntention().getModelCode()
                    .equals(mHasProjectActive.getPurchaseCarIntention().getModelCode())
            || !project.getPurchaseCarIntention().getOutsideColorCode()
                    .equals(mHasProjectActive.getPurchaseCarIntention().getOutsideColorCode())
            || !project.getPurchaseCarIntention().getInsideColorCode()
                    .equals(mHasProjectActive.getPurchaseCarIntention().getInsideColorCode())
            || !project.getPurchaseCarIntention().getCarConfigurationCode()
                    .equals(mHasProjectActive.getPurchaseCarIntention().getCarConfigurationCode())) {
        DialogUtils.confirm(getActivity(), getString(R.string.prompts), getString(R.string.synchronization),
                new Runnable() {

                    @Override/* w w w  . ja  va  2s  . c  o  m*/
                    public void run() {
                        Message message = new Message();
                        message.what = 0;
                        handler.sendMessage(message);
                    }
                }, null);
    }
}

From source file:cgeo.geocaching.cgBase.java

public void storeCache(cgeoapplication app, Activity activity, cgCache cache, String geocode, int listId,
        Handler handler) {/*from w  w  w .  j a v a  2 s .co m*/
    try {
        // get cache details, they may not yet be complete
        if (cache != null) {
            // only reload the cache, if it was already stored or has not all details (by checking the description)
            if (cache.reason > 0 || StringUtils.isBlank(cache.description)) {
                final Map<String, String> params = new HashMap<String, String>();
                params.put("geocode", cache.geocode);
                final UUID searchId = searchByGeocode(params, listId, false);
                cache = app.getCache(searchId);
            }
        } else if (StringUtils.isNotBlank(geocode)) {
            final Map<String, String> params = new HashMap<String, String>();
            params.put("geocode", geocode);
            final UUID searchId = searchByGeocode(params, listId, false);
            cache = app.getCache(searchId);
        }

        if (cache == null) {
            if (handler != null) {
                handler.sendMessage(new Message());
            }

            return;
        }

        final cgHtmlImg imgGetter = new cgHtmlImg(activity, cache.geocode, false, listId, true);

        // store images from description
        if (StringUtils.isNotBlank(cache.description)) {
            Html.fromHtml(cache.description, imgGetter, null);
        }

        // store spoilers
        if (CollectionUtils.isNotEmpty(cache.spoilers)) {
            for (cgImage oneSpoiler : cache.spoilers) {
                imgGetter.getDrawable(oneSpoiler.url);
            }
        }

        // store images from logs
        if (settings.storelogimages) {
            for (cgLog log : cache.logs) {
                if (CollectionUtils.isNotEmpty(log.logImages)) {
                    for (cgImage oneLogImg : log.logImages) {
                        imgGetter.getDrawable(oneLogImg.url);
                    }
                }
            }
        }

        // store map previews
        StaticMapsProvider.downloadMaps(cache, settings, activity);

        app.markStored(cache.geocode, listId);
        app.removeCacheFromCache(cache.geocode);

        if (handler != null) {
            handler.sendMessage(new Message());
        }
    } catch (Exception e) {
        Log.e(cgSettings.tag, "cgBase.storeCache: " + e.toString());
    }
}

From source file:com.cognizant.trumobi.PersonaLauncher.java

public void onSharedPreferenceChanged(SharedPreferences sp, String key) {
    // ADW: Try to add the restart flag here instead on preferences activity
    if (PersonaAlmostNexusSettingsHelper.needsRestart(key)) {
        // 290778 Commented for Higher SDK version
        // setPersistent(false);
        mShouldRestart = false;/*w  w w .  j a  v  a  2 s.c o  m*/
    } else {
        // TODO: ADW Move here all the updates instead on
        // updateAlmostNexusUI()
        if (key.equals("homeOrientation")) {
            if (!mMessWithPersistence) {
                changeOrientation(PersonaAlmostNexusSettingsHelper.getDesktopOrientation(this), false);
            } else {
                // ADW: If a user changes between different orientation
                // modes
                // we temporarily disable persistence to change the app
                // orientation
                // it will be re-enabled on the next onCreate
                // setPersistent(false);
                changeOrientation(PersonaAlmostNexusSettingsHelper.getDesktopOrientation(this), true);
            }
        } else if (key.equals("systemPersistent")) {
            mMessWithPersistence = PersonaAlmostNexusSettingsHelper.getSystemPersistent(this);
            if (mMessWithPersistence) {
                changeOrientation(PersonaAlmostNexusSettingsHelper.getDesktopOrientation(this), true);
                // ADW: If previously in portrait, set persistent
                // else, it will call the setPersistent on the next onCreate
                // caused by the orientation change
                if (savedOrientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
                    // setPersistent(true);
                }

            } else {
                // setPersistent(false);
                changeOrientation(PersonaAlmostNexusSettingsHelper.getDesktopOrientation(this), false);
            }
        } else if (key.equals("notif_receiver")) {
            boolean useNotifReceiver = PersonaAlmostNexusSettingsHelper.getNotifReceiver(this);
            if (!useNotifReceiver) {
                if (mCounterReceiver != null)
                    unregisterReceiver(mCounterReceiver);
                mCounterReceiver = null;
            } else {
                if (mCounterReceiver == null) {
                    mCounterReceiver = new PersonaCounterReceiver(this);
                    mCounterReceiver.setCounterListener(new PersonaCounterReceiver.OnCounterChangedListener() {
                        public void onTrigger(String pname, int counter, int color) {
                            PersonaLog.d("personalauncher",
                                    "updateCountersForPackage called from onSharedPreferenceChanged");
                            //                              updateCountersForPackage(pname,
                            //                                    counter, color, 0);

                            Bundle b = new Bundle();

                            b.putString("package", "com.cognizant.trumobi");
                            b.putInt("counter", counter);
                            b.putInt("color", R.color.PR_TEXTBOX_FOCUSED_COLOR);
                            b.putInt("updateCountFor", 0);
                            Message m = new Message();
                            m.setData(b);
                            UiHandler.sendMessage(m);
                        }
                    });
                }
                registerReceiver(mCounterReceiver, mCounterReceiver.getFilter());
            }
        } else if (key.equals("main_dock_style")) {
            int dockstyle = PersonaAlmostNexusSettingsHelper.getmainDockStyle(this);
            if (dockstyle == DOCK_STYLE_NONE) {
                // mShouldRestart=true;
            } else if (mDockStyle == DOCK_STYLE_NONE) {
                // mShouldRestart=true;
            }
        } else if (key.equals("deletezone_style")) {
            int dz = PersonaAlmostNexusSettingsHelper.getDeletezoneStyle(this);
            if (mDeleteZone != null)
                mDeleteZone.setPosition(dz);
        }
        updateAlmostNexusUI();
    }
}

From source file:cgeo.geocaching.cgBase.java

public static void dropCache(cgeoapplication app, Activity activity, cgCache cache, Handler handler) {
    try {//from  w w  w .j  a  v a  2s .co m
        app.markDropped(cache.geocode);
        app.removeCacheFromCache(cache.geocode);

        handler.sendMessage(new Message());
    } catch (Exception e) {
        Log.e(cgSettings.tag, "cgBase.dropCache: " + e.toString());
    }
}

From source file:com.zoffcc.applications.zanavi.Navit.java

@TargetApi(Build.VERSION_CODES.FROYO)
@Override/*from w  ww.  ja v  a2  s  . co m*/
public void onPause() {

    // if COMM stuff is running, stop it!
    ZANaviDebugReceiver.stop_me = true;

    // 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.unregisterListener(lightSensorEventListener);
    } catch (Exception e) {
    }

    // ---- DEBUG ----
    // ---- DEBUG ----
    // ---- DEBUG ----
    // -- dump all callbacks --
    try {
        if (p.PREF_enable_debug_functions) {
            Message msg99a = new Message();
            Bundle b99a = new Bundle();
            b99a.putInt("Callback", 100);
            msg99a.setData(b99a);
            N_NavitGraphics.callback_handler.sendMessage(msg99a);
        }
    } catch (Exception e) {
    }
    // -- dump all callbacks --
    // ---- DEBUG ----
    // ---- DEBUG ----
    // ---- DEBUG ----

    // ---- DEBUG ----
    // ---- DEBUG ----
    // ---- DEBUG ----
    try {
        if (!Navit.is_navigating) {
            if (p.PREF_enable_debug_write_gpx) {
                NavitVehicle.pos_recording_end();
            }
        }
    } catch (Exception e) {
    }
    // ---- DEBUG ----
    // ---- DEBUG ----
    // ---- DEBUG ----

    // System.out.println("@@ onPause @@");
    Log.e("Navit", "OnPause");
    try {
        setPrefs_zoomlevel();
    } catch (Exception e) {
        e.printStackTrace();
    }

    try {
        watchmem.stop_me();
    } catch (Exception e) {
        e.printStackTrace();
    }

    try {
        //watchmem.join();
    } catch (Exception e) {
        e.printStackTrace();
    }

    try {
        //Simulate.stop_me();
    } catch (Exception e) {
        e.printStackTrace();
    }

    try {
        //Simulate.join();
    } catch (Exception e) {
        e.printStackTrace();
    }

    Navit.show_mem_used();

    //      if (!Navit.is_navigating)
    //      {
    //         try
    //         {
    //            mTts.stop();
    //         }
    //         catch (Exception e)
    //         {
    //
    //         }
    //
    //         try
    //         {
    //            mTts.shutdown();
    //         }
    //         catch (Exception e)
    //         {
    //
    //         }
    //
    //         mTts = null;
    //      }

    super.onPause();

    // signal to backupmanager that data "is / could have" changed
    try {
        Class.forName("android.app.backup.BackupManager");
        BackupManager b = (BackupManager) backupManager;
        b.dataChanged();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }

    turn_off_compass();

    // System.out.println("XXNAV: onpause:001");
    if (!Navit.is_navigating) {
        // System.out.println("XXNAV: onpause:002");
        NavitVehicle.turn_off_all_providers();
        NavitVehicle.turn_off_sat_status();
        // System.out.println("XXNAV: onpause:003");
    }

    // Log.e("Navit", "OnPause");
    cwthr.NavitActivity2(-1);

    Navit.show_mem_used();

    try {
        if (wl != null) {
            wl.release();
            Log.e("Navit", "WakeLock: release 1");
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    try {
        if (wl_cpu != null) {
            if (wl_cpu.isHeld()) {
                wl_cpu.release();
                Log.e("Navit", "WakeLock CPU: release 1");
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    // glSurfaceView.onPause();

    is_paused = true;
}

From source file:carnero.cgeo.original.libs.Base.java

public void storeCache(App app, Activity activity, Cache cache, String geocode, int listId, Handler handler) {
    try {//from  w  w w  . java 2 s .  c o m
        // cache details
        if (cache != null) {
            final HashMap<String, String> params = new HashMap<String, String>();
            params.put("geocode", cache.geocode);
            final Long searchId = searchByGeocode(params, listId, false);
            cache = app.getCache(searchId);
        } else if (geocode != null) {
            final HashMap<String, String> params = new HashMap<String, String>();
            params.put("geocode", geocode);
            final Long searchId = searchByGeocode(params, listId, false);
            cache = app.getCache(searchId);
        }

        if (cache == null) {
            if (handler != null) {
                handler.sendMessage(new Message());
            }

            return;
        }

        final HtmlImg imgGetter = new HtmlImg(activity, settings, cache.geocode, false, listId, true);

        // store images from description
        if (cache.description != null) {
            Html.fromHtml(cache.description, imgGetter, null);
        }

        // store spoilers
        if (cache.spoilers != null && cache.spoilers.isEmpty() == false) {
            for (Spoiler oneSpoiler : cache.spoilers) {
                imgGetter.getDrawable(oneSpoiler.url);
            }
        }

        // store map previews
        if (settings.storeOfflineMaps == 1 && cache.latitude != null && cache.longitude != null) {
            final String latlonMap = String.format((Locale) null, "%.6f", cache.latitude) + ","
                    + String.format((Locale) null, "%.6f", cache.longitude);
            final Display display = ((WindowManager) activity.getSystemService(Context.WINDOW_SERVICE))
                    .getDefaultDisplay();
            final int maxWidth = display.getWidth() - 25;
            final int maxHeight = display.getHeight() - 25;
            int edge = 0;
            if (maxWidth > maxHeight) {
                edge = maxWidth;
            } else {
                edge = maxHeight;
            }

            String type = "mystery";
            if (cache.found == true) {
                type = cache.type + "_found";
            } else if (cache.disabled == true) {
                type = cache.type + "_disabled";
            } else {
                type = cache.type;
            }

            final String markerUrl = urlencode_rfc3986(
                    "http://cgeo.carnero.cc/_markers/marker_cache_" + type + ".png");
            final StringBuilder waypoints = new StringBuilder();
            if (cache.waypoints != null && cache.waypoints.size() > 0) {
                for (Waypoint waypoint : cache.waypoints) {
                    if (waypoint.latitude == null && waypoint.longitude == null) {
                        continue;
                    }

                    waypoints.append("&markers=icon%3Ahttp://cgeo.carnero.cc/_markers/marker_waypoint_");
                    waypoints.append(waypoint.type);
                    waypoints.append(".png%7C");
                    waypoints.append(String.format((Locale) null, "%.6f", waypoint.latitude));
                    waypoints.append(",");
                    waypoints.append(String.format((Locale) null, "%.6f", waypoint.longitude));
                }
            }

            // download map images in separate background thread for higher performance
            final String code = cache.geocode;
            final int finalEdge = edge;
            Thread staticMapsThread = new Thread("getting static map") {
                @Override
                public void run() {
                    MapImg mapGetter = new MapImg(settings, code);

                    mapGetter.getDrawable(
                            "http://maps.google.com/maps/api/staticmap?center=" + latlonMap + "&zoom=20&size="
                                    + finalEdge + "x" + finalEdge + "&maptype=satellite&markers=icon%3A"
                                    + markerUrl + "%7C" + latlonMap + waypoints.toString() + "&sensor=false",
                            1);
                    mapGetter.getDrawable(
                            "http://maps.google.com/maps/api/staticmap?center=" + latlonMap + "&zoom=18&size="
                                    + finalEdge + "x" + finalEdge + "&maptype=satellite&markers=icon%3A"
                                    + markerUrl + "%7C" + latlonMap + waypoints.toString() + "&sensor=false",
                            2);
                    mapGetter.getDrawable(
                            "http://maps.google.com/maps/api/staticmap?center=" + latlonMap + "&zoom=16&size="
                                    + finalEdge + "x" + finalEdge + "&maptype=roadmap&markers=icon%3A"
                                    + markerUrl + "%7C" + latlonMap + waypoints.toString() + "&sensor=false",
                            3);
                    mapGetter.getDrawable(
                            "http://maps.google.com/maps/api/staticmap?center=" + latlonMap + "&zoom=14&size="
                                    + finalEdge + "x" + finalEdge + "&maptype=roadmap&markers=icon%3A"
                                    + markerUrl + "%7C" + latlonMap + waypoints.toString() + "&sensor=false",
                            4);
                    mapGetter.getDrawable(
                            "http://maps.google.com/maps/api/staticmap?center=" + latlonMap + "&zoom=11&size="
                                    + finalEdge + "x" + finalEdge + "&maptype=roadmap&markers=icon%3A"
                                    + markerUrl + "%7C" + latlonMap + waypoints.toString() + "&sensor=false",
                            5);
                }
            };
            staticMapsThread.setPriority(Thread.MIN_PRIORITY);
            staticMapsThread.start();
        }

        app.markStored(cache.geocode, listId);
        app.removeCacheFromCache(cache.geocode);

        if (handler != null) {
            handler.sendMessage(new Message());
        }
    } catch (Exception e) {
        Log.e(Settings.tag, "cgBase.storeCache: " + e.toString());
    }
}

From source file:carnero.cgeo.original.libs.Base.java

public void dropCache(App app, Activity activity, Cache cache, Handler handler) {
    try {//from   w w  w . j a va 2  s. c om
        app.markDropped(cache.geocode);
        app.removeCacheFromCache(cache.geocode);

        handler.sendMessage(new Message());
    } catch (Exception e) {
        Log.e(Settings.tag, "cgBase.dropCache: " + e.toString());
    }
}