Example usage for android.content.pm PackageManager getPackageInfo

List of usage examples for android.content.pm PackageManager getPackageInfo

Introduction

In this page you can find the example usage for android.content.pm PackageManager getPackageInfo.

Prototype

public abstract PackageInfo getPackageInfo(VersionedPackage versionedPackage, @PackageInfoFlags int flags)
        throws NameNotFoundException;

Source Link

Document

Retrieve overall information about an application package that is installed on the system.

Usage

From source file:cgeo.geocaching.cgBase.java

public cgBase(cgeoapplication appIn, cgSettings settingsIn, SharedPreferences prefsIn) {
    context = appIn.getBaseContext();//w  ww . j  av  a 2s  .c  om
    res = appIn.getBaseContext().getResources();

    // setup cache type mappings

    final String CACHETYPE_ALL_GUID = "9a79e6ce-3344-409c-bbe9-496530baf758";

    cacheIDs.put("all", CACHETYPE_ALL_GUID);
    cacheIDsChoices.put(res.getString(R.string.all), CACHETYPE_ALL_GUID);

    for (CacheType ct : CacheType.values()) {
        String l10n = res.getString(ct.stringId);
        cacheTypesInv.put(ct.id, l10n);
        cacheIDsChoices.put(l10n, ct.guid);
    }

    for (CacheSize cs : CacheSize.values()) {
        cacheSizesInv.put(cs, res.getString(cs.stringId));
    }

    // waypoint types
    waypointTypes.put("flag", res.getString(WaypointType.FLAG.stringId));
    waypointTypes.put("stage", res.getString(WaypointType.STAGE.stringId));
    waypointTypes.put("puzzle", res.getString(WaypointType.PUZZLE.stringId));
    waypointTypes.put("pkg", res.getString(WaypointType.PKG.stringId));
    waypointTypes.put("trailhead", res.getString(WaypointType.TRAILHEAD.stringId));
    waypointTypes.put("waypoint", res.getString(WaypointType.WAYPOINT.stringId));

    // log types
    logTypes.put("icon_smile", LOG_FOUND_IT);
    logTypes.put("icon_sad", LOG_DIDNT_FIND_IT);
    logTypes.put("icon_note", LOG_NOTE);
    logTypes.put("icon_greenlight", LOG_PUBLISH_LISTING);
    logTypes.put("icon_enabled", LOG_ENABLE_LISTING);
    logTypes.put("traffic_cone", LOG_ARCHIVE);
    logTypes.put("icon_disabled", LOG_TEMP_DISABLE_LISTING);
    logTypes.put("icon_remove", LOG_NEEDS_ARCHIVE);
    logTypes.put("icon_rsvp", LOG_WILL_ATTEND);
    logTypes.put("icon_attended", LOG_ATTENDED);
    logTypes.put("picked_up", LOG_RETRIEVED_IT);
    logTypes.put("dropped_off", LOG_PLACED_IT);
    logTypes.put("transfer", LOG_GRABBED_IT);
    logTypes.put("icon_needsmaint", LOG_NEEDS_MAINTENANCE);
    logTypes.put("icon_maint", LOG_OWNER_MAINTENANCE);
    logTypes.put("coord_update", LOG_UPDATE_COORDINATES);
    logTypes.put("icon_discovered", LOG_DISCOVERED_IT);
    logTypes.put("big_smile", LOG_POST_REVIEWER_NOTE);
    logTypes.put("icon_visited", LOG_VISIT); // unknown ID; used number doesn't match any GC.com's ID
    logTypes.put("icon_camera", LOG_WEBCAM_PHOTO_TAKEN); // unknown ID; used number doesn't match any GC.com's ID
    logTypes.put("icon_announcement", LOG_ANNOUNCEMENT); // unknown ID; used number doesn't match any GC.com's ID

    logTypes0.put("found it", LOG_FOUND_IT);
    logTypes0.put("didn't find it", LOG_DIDNT_FIND_IT);
    logTypes0.put("write note", LOG_NOTE);
    logTypes0.put("publish listing", LOG_PUBLISH_LISTING);
    logTypes0.put("enable listing", LOG_ENABLE_LISTING);
    logTypes0.put("archive", LOG_ARCHIVE);
    logTypes0.put("temporarily disable listing", LOG_TEMP_DISABLE_LISTING);
    logTypes0.put("needs archived", LOG_NEEDS_ARCHIVE);
    logTypes0.put("will attend", LOG_WILL_ATTEND);
    logTypes0.put("attended", LOG_ATTENDED);
    logTypes0.put("retrieved it", LOG_RETRIEVED_IT);
    logTypes0.put("placed it", LOG_PLACED_IT);
    logTypes0.put("grabbed it", LOG_GRABBED_IT);
    logTypes0.put("needs maintenance", LOG_NEEDS_MAINTENANCE);
    logTypes0.put("owner maintenance", LOG_OWNER_MAINTENANCE);
    logTypes0.put("update coordinates", LOG_UPDATE_COORDINATES);
    logTypes0.put("discovered it", LOG_DISCOVERED_IT);
    logTypes0.put("post reviewer note", LOG_POST_REVIEWER_NOTE);
    logTypes0.put("visit", LOG_VISIT); // unknown ID; used number doesn't match any GC.com's ID
    logTypes0.put("webcam photo taken", LOG_WEBCAM_PHOTO_TAKEN); // unknown ID; used number doesn't match any GC.com's ID
    logTypes0.put("announcement", LOG_ANNOUNCEMENT); // unknown ID; used number doesn't match any GC.com's ID

    logTypes1.put(LOG_FOUND_IT, res.getString(R.string.log_found));
    logTypes1.put(LOG_DIDNT_FIND_IT, res.getString(R.string.log_dnf));
    logTypes1.put(LOG_NOTE, res.getString(R.string.log_note));
    logTypes1.put(LOG_PUBLISH_LISTING, res.getString(R.string.log_published));
    logTypes1.put(LOG_ENABLE_LISTING, res.getString(R.string.log_enabled));
    logTypes1.put(LOG_ARCHIVE, res.getString(R.string.log_archived));
    logTypes1.put(LOG_TEMP_DISABLE_LISTING, res.getString(R.string.log_disabled));
    logTypes1.put(LOG_NEEDS_ARCHIVE, res.getString(R.string.log_needs_archived));
    logTypes1.put(LOG_WILL_ATTEND, res.getString(R.string.log_attend));
    logTypes1.put(LOG_ATTENDED, res.getString(R.string.log_attended));
    logTypes1.put(LOG_RETRIEVED_IT, res.getString(R.string.log_retrieved));
    logTypes1.put(LOG_PLACED_IT, res.getString(R.string.log_placed));
    logTypes1.put(LOG_GRABBED_IT, res.getString(R.string.log_grabbed));
    logTypes1.put(LOG_NEEDS_MAINTENANCE, res.getString(R.string.log_maintenance_needed));
    logTypes1.put(LOG_OWNER_MAINTENANCE, res.getString(R.string.log_maintained));
    logTypes1.put(LOG_UPDATE_COORDINATES, res.getString(R.string.log_update));
    logTypes1.put(LOG_DISCOVERED_IT, res.getString(R.string.log_discovered));
    logTypes1.put(LOG_POST_REVIEWER_NOTE, res.getString(R.string.log_reviewed));
    logTypes1.put(LOG_VISIT, res.getString(R.string.log_taken));
    logTypes1.put(LOG_WEBCAM_PHOTO_TAKEN, res.getString(R.string.log_webcam));
    logTypes1.put(LOG_ANNOUNCEMENT, res.getString(R.string.log_announcement));

    logTypes2.put(LOG_FOUND_IT, res.getString(R.string.log_found)); // traditional, multi, unknown, earth, wherigo, virtual, letterbox
    logTypes2.put(LOG_DIDNT_FIND_IT, res.getString(R.string.log_dnf)); // traditional, multi, unknown, earth, wherigo, virtual, letterbox, webcam
    logTypes2.put(LOG_NOTE, res.getString(R.string.log_note)); // traditional, multi, unknown, earth, wherigo, virtual, event, letterbox, webcam, trackable
    logTypes2.put(LOG_PUBLISH_LISTING, res.getString(R.string.log_published)); // X
    logTypes2.put(LOG_ENABLE_LISTING, res.getString(R.string.log_enabled)); // owner
    logTypes2.put(LOG_ARCHIVE, res.getString(R.string.log_archived)); // traditional, multi, unknown, earth, event, wherigo, virtual, letterbox, webcam
    logTypes2.put(LOG_TEMP_DISABLE_LISTING, res.getString(R.string.log_disabled)); // owner
    logTypes2.put(LOG_NEEDS_ARCHIVE, res.getString(R.string.log_needs_archived)); // traditional, multi, unknown, earth, event, wherigo, virtual, letterbox, webcam
    logTypes2.put(LOG_WILL_ATTEND, res.getString(R.string.log_attend)); // event
    logTypes2.put(LOG_ATTENDED, res.getString(R.string.log_attended)); // event
    logTypes2.put(LOG_WEBCAM_PHOTO_TAKEN, res.getString(R.string.log_webcam)); // webcam
    logTypes2.put(LOG_RETRIEVED_IT, res.getString(R.string.log_retrieved)); //trackable
    logTypes2.put(LOG_GRABBED_IT, res.getString(R.string.log_grabbed)); //trackable
    logTypes2.put(LOG_NEEDS_MAINTENANCE, res.getString(R.string.log_maintenance_needed)); // traditional, unknown, multi, wherigo, virtual, letterbox, webcam
    logTypes2.put(LOG_OWNER_MAINTENANCE, res.getString(R.string.log_maintained)); // owner
    logTypes2.put(LOG_DISCOVERED_IT, res.getString(R.string.log_discovered)); //trackable
    logTypes2.put(LOG_POST_REVIEWER_NOTE, res.getString(R.string.log_reviewed)); // X
    logTypes2.put(LOG_ANNOUNCEMENT, res.getString(R.string.log_announcement)); // X

    // trackables for logs
    logTypesTrackable.put(0, res.getString(R.string.log_tb_nothing)); // do nothing
    logTypesTrackable.put(1, res.getString(R.string.log_tb_visit)); // visit cache
    logTypesTrackable.put(2, res.getString(R.string.log_tb_drop)); // drop here
    logTypesTrackableAction.put(0, ""); // do nothing
    logTypesTrackableAction.put(1, "_Visited"); // visit cache
    logTypesTrackableAction.put(2, "_DroppedOff"); // drop here

    // retrieving errors (because of ____ )
    errorRetrieve.put(1, res.getString(R.string.err_none));
    errorRetrieve.put(0, res.getString(R.string.err_start));
    errorRetrieve.put(-1, res.getString(R.string.err_parse));
    errorRetrieve.put(-2, res.getString(R.string.err_server));
    errorRetrieve.put(-3, res.getString(R.string.err_login));
    errorRetrieve.put(-4, res.getString(R.string.err_unknown));
    errorRetrieve.put(-5, res.getString(R.string.err_comm));
    errorRetrieve.put(-6, res.getString(R.string.err_wrong));
    errorRetrieve.put(-7, res.getString(R.string.err_license));

    // init
    app = appIn;
    settings = settingsIn;
    prefs = prefsIn;

    try {
        PackageManager manager = app.getPackageManager();
        PackageInfo info = manager.getPackageInfo(app.getPackageName(), 0);
        version = info.versionName;
    } catch (Exception e) {
        // nothing
    }

    if (settings.asBrowser == 1) {
        final long rndBrowser = Math.round(Math.random() * 6);
        if (rndBrowser == 0) {
            idBrowser = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.1 (KHTML, like Gecko) Chrome/5.0.322.2 Safari/533.1";
        } else if (rndBrowser == 1) {
            idBrowser = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDC)";
        } else if (rndBrowser == 2) {
            idBrowser = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3";
        } else if (rndBrowser == 3) {
            idBrowser = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-us) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10";
        } else if (rndBrowser == 4) {
            idBrowser = "Mozilla/5.0 (iPod; U; CPU iPhone OS 2_2_1 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5H11a Safari/525.20";
        } else if (rndBrowser == 5) {
            idBrowser = "Mozilla/5.0 (Linux; U; Android 1.1; en-gb; dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2";
        } else if (rndBrowser == 6) {
            idBrowser = "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.86 Safari/533.4";
        } else {
            idBrowser = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-US) AppleWebKit/532.9 (KHTML, like Gecko) Chrome/5.0.307.11 Safari/532.9";
        }
    }
}

From source file:com.guardtrax.ui.screens.HomeScreen.java

public void onCreate(Bundle savedInstanceState) {
    ctx = this.getApplicationContext();

    super.onCreate(savedInstanceState);

    //restore saved instances if necessary
    if (savedInstanceState != null) {
        Toast.makeText(HomeScreen.this, savedInstanceState.getString("message"), Toast.LENGTH_LONG).show();

        GTConstants.darfileName = savedInstanceState.getString("darfileName");
        GTConstants.tarfileName = savedInstanceState.getString("tarfileName");
        GTConstants.trpfilename = savedInstanceState.getString("trpfilename");
        GTConstants.srpfileName = savedInstanceState.getString("srpfileName");
        Utility.setcurrentState(savedInstanceState.getString("currentState"));
        Utility.setsessionStart(savedInstanceState.getString("getsessionStart"));
        selectedCode = savedInstanceState.getString("selectedCode");
        lunchTime = savedInstanceState.getString("lunchTime");
        breakTime = savedInstanceState.getString("breakTime");
        signaturefileName = savedInstanceState.getString("signaturefileName");
        GTConstants.tourName = savedInstanceState.getString("tourName");
        tourTime = savedInstanceState.getString("tourTime");
        tourEnd = savedInstanceState.getLong("tourEnd");
        lunchoutLocation = savedInstanceState.getInt("lunchoutLocation");
        breakoutLocation = savedInstanceState.getInt("breakoutLocation");
        touritemNumber = savedInstanceState.getInt("touritemNumber");
        chekUpdate = savedInstanceState.getBoolean("chekUpdate");
        GTConstants.sendData = savedInstanceState.getBoolean("send_data");
        GTConstants.isTour = savedInstanceState.getBoolean("isTour");
        GTConstants.isGeoFence = savedInstanceState.getBoolean("isGeoFence");
    } else {//w  w w .j  a  va  2s. co m
        //set the current state
        Utility.setcurrentState(GTConstants.offShift);

        //set the default startup code to start shift
        selectedCode = "start_shift";
    }

    /*
    //Determine screen size
     if ((getResources().getConfiguration().screenLayout &      Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) {     
         Toast.makeText(this, "Large screen",Toast.LENGTH_LONG).show();
     }
     else if ((getResources().getConfiguration().screenLayout &      Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL) {     
         Toast.makeText(this, "Normal sized screen" , Toast.LENGTH_LONG).show();
     } 
     else if ((getResources().getConfiguration().screenLayout &      Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL) {     
         Toast.makeText(this, "Small sized screen" , Toast.LENGTH_LONG).show();
     }
     else {
         Toast.makeText(this, "Screen size is neither large, normal or small" , Toast.LENGTH_LONG).show();
     }
             
      //initialize receiver to monitor for screen on / off
    /*
      IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
      filter.addAction(Intent.ACTION_SCREEN_OFF);
      BroadcastReceiver mReceiver = new ScreenReceiver();
      registerReceiver(mReceiver, filter);
      */

    setContentView(R.layout.homescreen);

    //Create object to call the Database class
    myDatabase = new GuardTraxDB(this);
    preferenceDB = new PreferenceDB(this);
    ftpdatabase = new ftpDataBase(this);
    gtDB = new GTParams(this);
    aDB = new accountsDB(this);
    trafficDB = new trafficDataBase(this);
    tourDB = new tourDataBase(this);

    //check for updates
    if (chekUpdate) {
        //reset the preference value
        chekUpdate = false;

        //check for application updates
        checkUpdate();
    }

    //initialize the message timer
    //initializeOnModeTimerEvent();

    //get the version number and set it in constants
    String version_num = "";

    PackageManager manager = this.getPackageManager();
    try {
        PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);
        version_num = info.versionName.toString();

    } catch (NameNotFoundException e) {
        version_num = "0.00.00";
    }
    GTConstants.version = version_num;

    //final TextView version = (TextView) findViewById(R.id.textVersion);
    //version.setText(version_num);

    //set up the animation
    animation.setDuration(500); // duration - half a second
    animation.setInterpolator(new LinearInterpolator()); // do not alter animation rate
    animation.setRepeatCount(Animation.INFINITE); // Repeat animation infinitely
    animation.setRepeatMode(Animation.REVERSE); // Reverse animation at the end so the button will fade back in

    buttonClick.setDuration(50); // duration - half a second
    buttonClick.setInterpolator(new LinearInterpolator()); // do not alter animation rate
    buttonClick.setRepeatCount(1); // Repeat animation once
    buttonClick.setRepeatMode(Animation.REVERSE); // Reverse animation at the end so the button will fade back in

    textWarning = (TextView) findViewById(R.id.txtWarning);
    textWarning.setWidth(500);
    textWarning.setGravity(Gravity.CENTER);

    //allow the text to be clicked if necessary 
    textWarning.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (GTConstants.isTour && GTConstants.tourName.length() > 1)
                displaytourInfo();
        }
    });

    //goto scan page button
    btn_scan_screen = (Button) findViewById(R.id.btn_goto_scan);

    btn_scan_screen.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            btn_scan_screen.startAnimation(buttonClick);

            //Utility.showScan(HomeScreen.this);
            scan_click(false);
        }
    });

    //goto report page button
    btn_report_screen = (Button) findViewById(R.id.btn_goto_report);
    btn_report_screen.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            btn_report_screen.startAnimation(buttonClick);

            report_click();
        }
    });

    //goto dial page button
    btn_dial_screen = (Button) findViewById(R.id.btn_goto_dial);
    btn_dial_screen.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            btn_dial_screen.startAnimation(buttonClick);

            dial_click();
        }
    });

    //microphone button
    btn_mic = (Button) findViewById(R.id.btn_mic);
    btn_mic.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            btn_mic.startAnimation(buttonClick);

            voice_click();
        }

    });

    //camera button
    btn_camera = (Button) findViewById(R.id.btn_camera);
    btn_camera.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            btn_camera.startAnimation(buttonClick);

            camera_click();
        }
    });

    //video button
    btn_video = (Button) findViewById(R.id.btn_video);
    btn_video.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            btn_video.startAnimation(buttonClick);

            video_click();
        }

    });

    // Register a callback to be invoked when this view is clicked. If this view is not clickable, it becomes clickable.
    btn_send = (Button) findViewById(R.id.btn_Send);
    btn_send.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            //prevent multiple fast clicking
            if (SystemClock.elapsedRealtime() - mLastClickTime < 2000)
                return;

            mLastClickTime = SystemClock.elapsedRealtime();

            incidentcodeSent = true;

            btn_send.startAnimation(buttonClick);

            //if start shift has not been sent then the device is in do not send data mode.  Warn the user 
            if (Utility.getcurrentState().equals(GTConstants.offShift) && !selectedCode.equals("start_shift")) {
                show_alert_title = "Error";
                show_alert_message = "You must start your shift!";
                showAlert(show_alert_title, show_alert_message, true);

                //set spinner back to start shift
                spinner.setSelection(0);
            } else {
                if (Utility.deviceRegistered()) {
                    show_alert_title = "Success";
                    show_alert_message = "Action success";
                } else {
                    show_alert_title = "Warning";
                    show_alert_message = "You are NOT registered!";

                    showAlert(show_alert_title, show_alert_message, true);
                }

                if (selectedCode.equals("start_shift")) {
                    //if shift already started
                    if (Utility.getcurrentState().equals(GTConstants.onShift)) {
                        show_alert_title = "Warning";
                        show_alert_message = "You must end shift!";

                        showAlert(show_alert_title, show_alert_message, true);

                        //set spinner back to all clear
                        spinner.setSelection(2);
                    } else {
                        ToastMessage.displayToastFromResource(HomeScreen.this, 5, Gravity.CENTER,
                                (ViewGroup) findViewById(R.id.toast_layout_root));

                        pdialog = ProgressDialog.show(HomeScreen.this, "Please wait", "Starting shift ...",
                                true);

                        //set the current state
                        Utility.setcurrentState(GTConstants.onShift);
                        setuserBanner();

                        //wait for start shift actions to complete (or timeout occurs) before dismissing wait dialog
                        new CountDownTimer(5000, 1000) {
                            @Override
                            public void onTick(long millisUntilFinished) {
                                if (start_shift_wait)
                                    pdialog.dismiss();
                            }

                            @Override
                            public void onFinish() {
                                if (!(pdialog == null))
                                    pdialog.dismiss();
                            }
                        }.start();

                        //create dar file
                        try {
                            //create the dar file name
                            GTConstants.darfileName = GTConstants.LICENSE_ID.substring(7) + "_"
                                    + Utility.getUTCDate() + "_" + Utility.getUTCTime() + ".dar";

                            //write the version to the dar file
                            Utility.write_to_file(HomeScreen.this,
                                    GTConstants.dardestinationFolder + GTConstants.darfileName,
                                    "Version;" + GTConstants.version + "\r\n", false);

                            //write the start shift event to the dar file
                            Utility.write_to_file(HomeScreen.this,
                                    GTConstants.dardestinationFolder + GTConstants.darfileName,
                                    "Start shift;" + GTConstants.currentBatteryPercent + ";"
                                            + Utility.getLocalTime() + ";" + Utility.getLocalDate() + "\r\n",
                                    true);

                            //create the tar file name if module installed
                            if (GTConstants.isTimeandAttendance) {
                                GTConstants.tarfileName = GTConstants.LICENSE_ID.substring(7) + "_"
                                        + Utility.getUTCDate() + "_" + Utility.getUTCTime() + ".tar";

                                //write the start shift event to the tar file
                                Utility.write_to_file(HomeScreen.this,
                                        GTConstants.dardestinationFolder + GTConstants.tarfileName,
                                        "Name;" + GTConstants.report_name + "\r\n" + "Start shift;"
                                                + Utility.getLocalTime() + ";" + Utility.getLocalDate()
                                                + "\r\n",
                                        false);
                            }

                        } catch (Exception e) {
                            Toast.makeText(HomeScreen.this, "error = " + e, Toast.LENGTH_LONG).show();
                        }

                        GTConstants.sendData = true;

                        //if not time and attendance then send start shift event now, otherwise wait till after location scan
                        send_event("11");

                        //set the session start time
                        SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yy HH:mm:ss");
                        Utility.setsessionStart(sdf.format(new Date()));

                        //reset the server connection flag
                        Utility.resetisConnecting();

                        //start the GPS location service
                        MainService.openLocationListener();

                        //set spinner back to all clear
                        spinner.setSelection(2);

                        setwarningText("");

                        if (GTConstants.isTimeandAttendance) {
                            show_taa_scan(true, false);
                        }
                    }

                } else if (selectedCode.equals("end_shift")) {
                    if (!Utility.getcurrentState().equals(GTConstants.onShift)
                            && GTConstants.isTimeandAttendance) {
                        show_alert_title = "Error";
                        show_alert_message = "You must end your Lunch / Break!";
                        showAlert(show_alert_title, show_alert_message, true);

                        //set spinner back to start shift
                        spinner.setSelection(2);
                    } else {
                        btn_send.setEnabled(false);
                        if (GTConstants.isTimeandAttendance) {
                            show_taa_scan(false, true);
                        } else
                            endshiftCode();
                    }
                } else {
                    if (Utility.isselectionValid(HomeScreen.this, selectedCode)) {
                        //if time and attendance then write to file
                        if (selectedCode.equalsIgnoreCase(GTConstants.lunchin)
                                || selectedCode.equalsIgnoreCase(GTConstants.lunchout)
                                || selectedCode.equalsIgnoreCase(GTConstants.startbreak)
                                || selectedCode.equalsIgnoreCase(GTConstants.endbreak)) {
                            if (GTConstants.isTimeandAttendance)
                                Utility.write_to_file(HomeScreen.this,
                                        GTConstants.dardestinationFolder + GTConstants.tarfileName,
                                        spinner.getSelectedItem().toString() + ";" + Utility.getLocalTime()
                                                + ";" + Utility.getLocalDate() + "\r\n",
                                        true);

                            if (selectedCode.equalsIgnoreCase(GTConstants.lunchin)) {
                                Utility.setcurrentState(GTConstants.onLunch);
                                Utility.setlunchStart(true);
                                setuserBanner();
                            }

                            if (selectedCode.equalsIgnoreCase(GTConstants.startbreak)) {
                                Utility.setcurrentState(GTConstants.onBreak);
                                Utility.setbreakStart(true);
                                setuserBanner();
                            }

                            if (selectedCode.equalsIgnoreCase(GTConstants.lunchout)) {
                                Utility.setcurrentState(GTConstants.onShift);
                                lunchTime = Utility.gettimeDiff(Utility.getlunchStart(),
                                        Utility.getLocalDateTime());
                                setuserBanner();
                            }

                            if (selectedCode.equalsIgnoreCase(GTConstants.endbreak)) {
                                Utility.setcurrentState(GTConstants.onShift);
                                breakTime = Utility.gettimeDiff(Utility.getbreakStart(),
                                        Utility.getLocalDateTime());
                                setuserBanner();
                            }
                        }

                        ToastMessage.displayToastFromResource(HomeScreen.this, 5, Gravity.CENTER,
                                (ViewGroup) findViewById(R.id.toast_layout_root));

                        //save the event description as may be needed for incident report
                        incidentDescription = spinner.getSelectedItem().toString();

                        //write to dar
                        Utility.write_to_file(HomeScreen.this,
                                GTConstants.dardestinationFolder + GTConstants.darfileName,
                                "Event; " + incidentDescription + ";" + Utility.getLocalTime() + ";"
                                        + Utility.getLocalDate() + "\r\n",
                                true);

                        //write to srp
                        if (GTConstants.srpfileName.length() > 1)
                            Utility.write_to_file(HomeScreen.this,
                                    GTConstants.dardestinationFolder + GTConstants.srpfileName,
                                    "Event; " + incidentDescription + ";" + Utility.getLocalTime() + ";"
                                            + Utility.getLocalDate() + "\r\n",
                                    true);

                        //send the data
                        send_event(selectedCode);

                        //ask if user wants to create an incident report.  If the last character is a space, that indicates not to ask for report
                        if (!(incidentDescription.charAt(incidentDescription.length() - 1) == ' ')
                                && !trafficIncident)
                            showYesNoAlert("Report", "Create an Incident Report?", incidentreportScreen);
                        if (!(incidentDescription.charAt(incidentDescription.length() - 1) == ' ')
                                && trafficIncident)
                            showYesNoAlert("Report", "Create a Traffic Violation?", incidentreportScreen);

                        //if last two characters are spaces then ask to write a note
                        if (incidentDescription.charAt(incidentDescription.length() - 1) == ' '
                                && incidentDescription.charAt(incidentDescription.length() - 2) == ' ')
                            showYesNoAlert("Report", "Create a Note?", createNote);

                    }

                    //set spinner back to required state
                    if (selectedCode.equalsIgnoreCase(GTConstants.lunchin))
                        spinner.setSelection(lunchoutLocation);
                    else if (selectedCode.equalsIgnoreCase(GTConstants.startbreak))
                        spinner.setSelection(breakoutLocation);
                    else
                        spinner.setSelection(2);

                }
            }
        }

    });

    //Finds a view that was identified by the id attribute from the XML that was processed in onCreate(Bundle).
    spinner = (Spinner) findViewById(R.id.spinner_list);

    //method initialize the spinner action
    initializeSpinnerControl();

    if (GTConstants.service_intent == null) {
        //Condition to check whether the Database exist and if so load data into constants
        try {
            if (preferenceDB.checkDataBase()) {
                preferenceDB.open();

                Cursor cursor = preferenceDB.getRecordByRowID("1");

                preferenceDB.close();

                if (cursor == null)
                    loadPreferenceDataBase();
                else {
                    saveInConstants(cursor);
                    cursor.close();
                }
                syncDB();
                syncFTP();
                syncftpUpload();
            } else {
                preferenceDB.open();
                preferenceDB.close();
                //Toast.makeText(HomeScreen.this, "Path = " + preferenceDB.get_path(), Toast.LENGTH_LONG).show();
                //Toast.makeText(HomeScreen.this, "No database found", Toast.LENGTH_LONG).show();

                loadPreferenceDataBase();

                syncDB();
                syncFTP();
                syncftpUpload();
            }
        } catch (Exception e) {
            preferenceDB.createDataBase();
            loadPreferenceDataBase();
            Toast.makeText(HomeScreen.this, "Creating database", Toast.LENGTH_LONG).show();
        }

        //setup the auxiliary databases
        if (!aDB.checkDataBase()) {
            aDB.open();
            aDB.close();
        }

        if (!ftpdatabase.checkDataBase()) {
            ftpdatabase.open();
            ftpdatabase.close();
        }

        if (!gtDB.checkDataBase()) {
            gtDB.open();
            gtDB.close();
        }

        if (!trafficDB.checkDataBase()) {
            trafficDB.open();
            trafficDB.close();
        }

        if (!tourDB.checkDataBase()) {
            tourDB.open();
            tourDB.close();
        }

        //get the parameters from the parameter database
        loadGTParams();

        //this code starts the main service running which contains all the event timers
        if (Utility.deviceRegistered()) {
            //this is the application started event - sent once when application starts up
            if (savedInstanceState == null)
                send_event("PU");

            initService();
        }
    }

    //if device not registered than go straight to scan screen
    if (!Utility.deviceRegistered()) {
        newRegistration = true;
        //send_data = true;
        scan_click(false);
    }

    //setup the user banner
    setuserBanner();

    //set the warning text
    setwarningText("");

}

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

public Base(App appIn, Settings settingsIn, SharedPreferences prefsIn) {
    context = appIn.getBaseContext();//from  ww  w.  jav  a2  s  .  c o  m
    res = appIn.getBaseContext().getResources();

    // cache types
    cacheTypes.put("traditional cache", "traditional");
    cacheTypes.put("multi-cache", "multi");
    cacheTypes.put("unknown cache", "mystery");
    cacheTypes.put("letterbox hybrid", "letterbox");
    cacheTypes.put("event cache", "event");
    cacheTypes.put("mega-event cache", "mega");
    cacheTypes.put("earthcache", "earth");
    cacheTypes.put("cache in trash out event", "cito");
    cacheTypes.put("webcam cache", "webcam");
    cacheTypes.put("virtual cache", "virtual");
    cacheTypes.put("wherigo cache", "wherigo");
    cacheTypes.put("lost & found", "lostfound");
    cacheTypes.put("project ape cache", "ape");
    cacheTypes.put("groundspeak hq", "gchq");
    cacheTypes.put("gps cache exhibit", "gps");

    // cache types inverted
    cacheTypesInv.put("traditional", res.getString(R.string.traditional));
    cacheTypesInv.put("multi", res.getString(R.string.multi));
    cacheTypesInv.put("mystery", res.getString(R.string.mystery));
    cacheTypesInv.put("letterbox", res.getString(R.string.letterbox));
    cacheTypesInv.put("event", res.getString(R.string.event));
    cacheTypesInv.put("mega", res.getString(R.string.mega));
    cacheTypesInv.put("earth", res.getString(R.string.earth));
    cacheTypesInv.put("cito", res.getString(R.string.cito));
    cacheTypesInv.put("webcam", res.getString(R.string.webcam));
    cacheTypesInv.put("virtual", res.getString(R.string.virtual));
    cacheTypesInv.put("wherigo", res.getString(R.string.wherigo));
    cacheTypesInv.put("lostfound", res.getString(R.string.lostfound));
    cacheTypesInv.put("ape", res.getString(R.string.ape));
    cacheTypesInv.put("gchq", res.getString(R.string.gchq));
    cacheTypesInv.put("gps", res.getString(R.string.gps));

    // cache ids
    cacheIDs.put("all", "9a79e6ce-3344-409c-bbe9-496530baf758"); // hard-coded also in Settings
    cacheIDs.put("traditional", "32bc9333-5e52-4957-b0f6-5a2c8fc7b257");
    cacheIDs.put("multi", "a5f6d0ad-d2f2-4011-8c14-940a9ebf3c74");
    cacheIDs.put("mystery", "40861821-1835-4e11-b666-8d41064d03fe");
    cacheIDs.put("letterbox", "4bdd8fb2-d7bc-453f-a9c5-968563b15d24");
    cacheIDs.put("event", "69eb8534-b718-4b35-ae3c-a856a55b0874");
    cacheIDs.put("mega-event", "69eb8535-b718-4b35-ae3c-a856a55b0874");
    cacheIDs.put("earth", "c66f5cf3-9523-4549-b8dd-759cd2f18db8");
    cacheIDs.put("cito", "57150806-bc1a-42d6-9cf0-538d171a2d22");
    cacheIDs.put("webcam", "31d2ae3c-c358-4b5f-8dcd-2185bf472d3d");
    cacheIDs.put("virtual", "294d4360-ac86-4c83-84dd-8113ef678d7e");
    cacheIDs.put("wherigo", "0544fa55-772d-4e5c-96a9-36a51ebcf5c9");
    cacheIDs.put("lostfound", "3ea6533d-bb52-42fe-b2d2-79a3424d4728");
    cacheIDs.put("ape", "2555690d-b2bc-4b55-b5ac-0cb704c0b768");
    cacheIDs.put("gchq", "416f2494-dc17-4b6a-9bab-1a29dd292d8c");
    cacheIDs.put("gps", "72e69af2-7986-4990-afd9-bc16cbbb4ce3");

    // cache choices
    cacheIDsChoices.put(res.getString(R.string.all), cacheIDs.get("all"));
    cacheIDsChoices.put(res.getString(R.string.traditional), cacheIDs.get("traditional"));
    cacheIDsChoices.put(res.getString(R.string.multi), cacheIDs.get("multi"));
    cacheIDsChoices.put(res.getString(R.string.mystery), cacheIDs.get("mystery"));
    cacheIDsChoices.put(res.getString(R.string.letterbox), cacheIDs.get("letterbox"));
    cacheIDsChoices.put(res.getString(R.string.event), cacheIDs.get("event"));
    cacheIDsChoices.put(res.getString(R.string.mega), cacheIDs.get("mega"));
    cacheIDsChoices.put(res.getString(R.string.earth), cacheIDs.get("earth"));
    cacheIDsChoices.put(res.getString(R.string.cito), cacheIDs.get("cito"));
    cacheIDsChoices.put(res.getString(R.string.webcam), cacheIDs.get("webcam"));
    cacheIDsChoices.put(res.getString(R.string.virtual), cacheIDs.get("virtual"));
    cacheIDsChoices.put(res.getString(R.string.wherigo), cacheIDs.get("whereigo"));
    cacheIDsChoices.put(res.getString(R.string.lostfound), cacheIDs.get("lostfound"));
    cacheIDsChoices.put(res.getString(R.string.ape), cacheIDs.get("ape"));
    cacheIDsChoices.put(res.getString(R.string.gchq), cacheIDs.get("gchq"));
    cacheIDsChoices.put(res.getString(R.string.gps), cacheIDs.get("gps"));

    // waypoint types
    waypointTypes.put("flag", res.getString(R.string.wp_final));
    waypointTypes.put("stage", res.getString(R.string.wp_stage));
    waypointTypes.put("puzzle", res.getString(R.string.wp_puzzle));
    waypointTypes.put("pkg", res.getString(R.string.wp_pkg));
    waypointTypes.put("trailhead", res.getString(R.string.wp_trailhead));
    waypointTypes.put("waypoint", res.getString(R.string.wp_waypoint));

    // log types
    logTypes.put("icon_smile", LOG_FOUND_IT);
    logTypes.put("icon_sad", LOG_DIDNT_FIND_IT);
    logTypes.put("icon_note", LOG_NOTE);
    logTypes.put("icon_greenlight", LOG_PUBLISH_LISTING);
    logTypes.put("icon_enabled", LOG_ENABLE_LISTING);
    logTypes.put("traffic_cone", LOG_ARCHIVE);
    logTypes.put("icon_disabled", LOG_TEMP_DISABLE_LISTING);
    logTypes.put("icon_remove", LOG_NEEDS_ARCHIVE);
    logTypes.put("icon_rsvp", LOG_WILL_ATTEND);
    logTypes.put("icon_attended", LOG_ATTENDED);
    logTypes.put("picked_up", LOG_RETRIEVED_IT);
    logTypes.put("dropped_off", LOG_PLACED_IT);
    logTypes.put("transfer", LOG_GRABBED_IT);
    logTypes.put("icon_needsmaint", LOG_NEEDS_MAINTENANCE);
    logTypes.put("icon_maint", LOG_OWNER_MAINTENANCE);
    logTypes.put("coord_update", LOG_UPDATE_COORDINATES);
    logTypes.put("icon_discovered", LOG_DISCOVERED_IT);
    logTypes.put("big_smile", LOG_POST_REVIEWER_NOTE);
    logTypes.put("icon_visited", LOG_VISIT); // unknown ID; used number doesn't match any GC.com's ID
    logTypes.put("icon_camera", LOG_WEBCAM_PHOTO_TAKEN); // unknown ID; used number doesn't match any GC.com's ID
    logTypes.put("icon_announcement", LOG_ANNOUNCEMENT); // unknown ID; used number doesn't match any GC.com's ID

    logTypes0.put("found it", LOG_FOUND_IT);
    logTypes0.put("didn't find it", LOG_DIDNT_FIND_IT);
    logTypes0.put("write note", LOG_NOTE);
    logTypes0.put("publish listing", LOG_PUBLISH_LISTING);
    logTypes0.put("enable listing", LOG_ENABLE_LISTING);
    logTypes0.put("archive", LOG_ARCHIVE);
    logTypes0.put("temporarily disable listing", LOG_TEMP_DISABLE_LISTING);
    logTypes0.put("needs archived", LOG_NEEDS_ARCHIVE);
    logTypes0.put("will attend", LOG_WILL_ATTEND);
    logTypes0.put("attended", LOG_ATTENDED);
    logTypes0.put("retrieved it", LOG_RETRIEVED_IT);
    logTypes0.put("placed it", LOG_PLACED_IT);
    logTypes0.put("grabbed it", LOG_GRABBED_IT);
    logTypes0.put("needs maintenance", LOG_NEEDS_MAINTENANCE);
    logTypes0.put("owner maintenance", LOG_OWNER_MAINTENANCE);
    logTypes0.put("update coordinates", LOG_UPDATE_COORDINATES);
    logTypes0.put("discovered it", LOG_DISCOVERED_IT);
    logTypes0.put("post reviewer note", LOG_POST_REVIEWER_NOTE);
    logTypes0.put("visit", LOG_VISIT); // unknown ID; used number doesn't match any GC.com's ID
    logTypes0.put("webcam photo taken", LOG_WEBCAM_PHOTO_TAKEN); // unknown ID; used number doesn't match any GC.com's ID
    logTypes0.put("announcement", LOG_ANNOUNCEMENT); // unknown ID; used number doesn't match any GC.com's ID

    logTypes1.put(LOG_FOUND_IT, res.getString(R.string.log_found));
    logTypes1.put(LOG_DIDNT_FIND_IT, res.getString(R.string.log_dnf));
    logTypes1.put(LOG_NOTE, res.getString(R.string.log_note));
    logTypes1.put(LOG_PUBLISH_LISTING, res.getString(R.string.log_published));
    logTypes1.put(LOG_ENABLE_LISTING, res.getString(R.string.log_enabled));
    logTypes1.put(LOG_ARCHIVE, res.getString(R.string.log_archived));
    logTypes1.put(LOG_TEMP_DISABLE_LISTING, res.getString(R.string.log_disabled));
    logTypes1.put(LOG_NEEDS_ARCHIVE, res.getString(R.string.log_needs_archived));
    logTypes1.put(LOG_WILL_ATTEND, res.getString(R.string.log_attend));
    logTypes1.put(LOG_ATTENDED, res.getString(R.string.log_attended));
    logTypes1.put(LOG_RETRIEVED_IT, res.getString(R.string.log_retrieved));
    logTypes1.put(LOG_PLACED_IT, res.getString(R.string.log_placed));
    logTypes1.put(LOG_GRABBED_IT, res.getString(R.string.log_grabbed));
    logTypes1.put(LOG_NEEDS_MAINTENANCE, res.getString(R.string.log_maintenance_needed));
    logTypes1.put(LOG_OWNER_MAINTENANCE, res.getString(R.string.log_maintained));
    logTypes1.put(LOG_UPDATE_COORDINATES, res.getString(R.string.log_update));
    logTypes1.put(LOG_DISCOVERED_IT, res.getString(R.string.log_discovered));
    logTypes1.put(LOG_POST_REVIEWER_NOTE, res.getString(R.string.log_reviewed));
    logTypes1.put(LOG_VISIT, res.getString(R.string.log_taken));
    logTypes1.put(LOG_WEBCAM_PHOTO_TAKEN, res.getString(R.string.log_webcam));
    logTypes1.put(LOG_ANNOUNCEMENT, res.getString(R.string.log_announcement));

    logTypes2.put(LOG_FOUND_IT, res.getString(R.string.log_found)); // traditional, multi, unknown, earth, wherigo, virtual, letterbox
    logTypes2.put(LOG_DIDNT_FIND_IT, res.getString(R.string.log_dnf)); // traditional, multi, unknown, earth, wherigo, virtual, letterbox, webcam
    logTypes2.put(LOG_NOTE, res.getString(R.string.log_note)); // traditional, multi, unknown, earth, wherigo, virtual, event, letterbox, webcam, trackable
    logTypes2.put(LOG_PUBLISH_LISTING, res.getString(R.string.log_published)); // X
    logTypes2.put(LOG_ENABLE_LISTING, res.getString(R.string.log_enabled)); // owner
    logTypes2.put(LOG_ARCHIVE, res.getString(R.string.log_archived)); // traditional, multi, unknown, earth, event, wherigo, virtual, letterbox, webcam
    logTypes2.put(LOG_TEMP_DISABLE_LISTING, res.getString(R.string.log_disabled)); // owner
    logTypes2.put(LOG_NEEDS_ARCHIVE, res.getString(R.string.log_needs_archived)); // traditional, multi, unknown, earth, event, wherigo, virtual, letterbox, webcam
    logTypes2.put(LOG_WILL_ATTEND, res.getString(R.string.log_attend)); // event
    logTypes2.put(LOG_ATTENDED, res.getString(R.string.log_attended)); // event
    logTypes2.put(LOG_WEBCAM_PHOTO_TAKEN, res.getString(R.string.log_webcam)); // webcam
    logTypes2.put(LOG_RETRIEVED_IT, res.getString(R.string.log_retrieved)); //trackable
    logTypes2.put(LOG_GRABBED_IT, res.getString(R.string.log_grabbed)); //trackable
    logTypes2.put(LOG_NEEDS_MAINTENANCE, res.getString(R.string.log_maintenance_needed)); // traditional, unknown, multi, wherigo, virtual, letterbox, webcam
    logTypes2.put(LOG_OWNER_MAINTENANCE, res.getString(R.string.log_maintained)); // owner
    logTypes2.put(LOG_DISCOVERED_IT, res.getString(R.string.log_discovered)); //trackable
    logTypes2.put(LOG_POST_REVIEWER_NOTE, res.getString(R.string.log_reviewed)); // X
    logTypes2.put(LOG_ANNOUNCEMENT, res.getString(R.string.log_announcement)); // X

    // trackables for logs
    logTypesTrackable.put(0, res.getString(R.string.log_tb_nothing)); // do nothing
    logTypesTrackable.put(1, res.getString(R.string.log_tb_visit)); // visit cache
    logTypesTrackable.put(2, res.getString(R.string.log_tb_drop)); // drop here
    logTypesTrackableAction.put(0, ""); // do nothing
    logTypesTrackableAction.put(1, "_Visited"); // visit cache
    logTypesTrackableAction.put(2, "_DroppedOff"); // drop here

    // retrieving errors (because of ____ )
    errorRetrieve.put(1, res.getString(R.string.err_none));
    errorRetrieve.put(0, res.getString(R.string.err_start));
    errorRetrieve.put(-1, res.getString(R.string.err_parse));
    errorRetrieve.put(-2, res.getString(R.string.err_server));
    errorRetrieve.put(-3, res.getString(R.string.err_login));
    errorRetrieve.put(-4, res.getString(R.string.err_unknown));
    errorRetrieve.put(-5, res.getString(R.string.err_comm));
    errorRetrieve.put(-6, res.getString(R.string.err_wrong));
    errorRetrieve.put(-7, res.getString(R.string.err_license));

    // init
    app = appIn;
    settings = settingsIn;
    prefs = prefsIn;

    try {
        PackageManager manager = app.getPackageManager();
        PackageInfo info = manager.getPackageInfo(app.getPackageName(), 0);
        version = info.versionName;
    } catch (Exception e) {
        // nothing
    }

    if (settings.asBrowser == 1) {
        final long rndBrowser = Math.round(Math.random() * 6);
        if (rndBrowser == 0) {
            idBrowser = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.1 (KHTML, like Gecko) Chrome/5.0.322.2 Safari/533.1";
        } else if (rndBrowser == 1) {
            idBrowser = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDC)";
        } else if (rndBrowser == 2) {
            idBrowser = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3";
        } else if (rndBrowser == 3) {
            idBrowser = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-us) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10";
        } else if (rndBrowser == 4) {
            idBrowser = "Mozilla/5.0 (iPod; U; CPU iPhone OS 2_2_1 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5H11a Safari/525.20";
        } else if (rndBrowser == 5) {
            idBrowser = "Mozilla/5.0 (Linux; U; Android 1.1; en-gb; dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2";
        } else if (rndBrowser == 6) {
            idBrowser = "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.86 Safari/533.4";
        } else {
            idBrowser = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-US) AppleWebKit/532.9 (KHTML, like Gecko) Chrome/5.0.307.11 Safari/532.9";
        }
    }
}

From source file:carnero.cgeo.cgBase.java

public cgBase(cgeoapplication appIn, cgSettings settingsIn, SharedPreferences prefsIn) {
    context = appIn.getBaseContext();/*from  w ww .  j  ava2s.  co m*/
    res = appIn.getBaseContext().getResources();

    // cache types
    cacheTypes.put("traditional cache", "traditional");
    cacheTypes.put("multi-cache", "multi");
    cacheTypes.put("unknown cache", "mystery");
    cacheTypes.put("letterbox hybrid", "letterbox");
    cacheTypes.put("event cache", "event");
    cacheTypes.put("mega-event cache", "mega");
    cacheTypes.put("earthcache", "earth");
    cacheTypes.put("cache in trash out event", "cito");
    cacheTypes.put("webcam cache", "webcam");
    cacheTypes.put("virtual cache", "virtual");
    cacheTypes.put("wherigo cache", "wherigo");
    cacheTypes.put("lost & found", "lostfound");
    cacheTypes.put("project ape cache", "ape");
    cacheTypes.put("groundspeak hq", "gchq");
    cacheTypes.put("gps cache exhibit", "gps");

    // cache types inverted
    cacheTypesInv.put("traditional", res.getString(R.string.traditional));
    cacheTypesInv.put("multi", res.getString(R.string.multi));
    cacheTypesInv.put("mystery", res.getString(R.string.mystery));
    cacheTypesInv.put("letterbox", res.getString(R.string.letterbox));
    cacheTypesInv.put("event", res.getString(R.string.event));
    cacheTypesInv.put("mega", res.getString(R.string.mega));
    cacheTypesInv.put("earth", res.getString(R.string.earth));
    cacheTypesInv.put("cito", res.getString(R.string.cito));
    cacheTypesInv.put("webcam", res.getString(R.string.webcam));
    cacheTypesInv.put("virtual", res.getString(R.string.virtual));
    cacheTypesInv.put("wherigo", res.getString(R.string.wherigo));
    cacheTypesInv.put("lostfound", res.getString(R.string.lostfound));
    cacheTypesInv.put("ape", res.getString(R.string.ape));
    cacheTypesInv.put("gchq", res.getString(R.string.gchq));
    cacheTypesInv.put("gps", res.getString(R.string.gps));

    // cache ids
    cacheIDs.put("all", "9a79e6ce-3344-409c-bbe9-496530baf758"); // hard-coded also in cgSettings
    cacheIDs.put("traditional", "32bc9333-5e52-4957-b0f6-5a2c8fc7b257");
    cacheIDs.put("multi", "a5f6d0ad-d2f2-4011-8c14-940a9ebf3c74");
    cacheIDs.put("mystery", "40861821-1835-4e11-b666-8d41064d03fe");
    cacheIDs.put("letterbox", "4bdd8fb2-d7bc-453f-a9c5-968563b15d24");
    cacheIDs.put("event", "69eb8534-b718-4b35-ae3c-a856a55b0874");
    cacheIDs.put("mega-event", "69eb8535-b718-4b35-ae3c-a856a55b0874");
    cacheIDs.put("earth", "c66f5cf3-9523-4549-b8dd-759cd2f18db8");
    cacheIDs.put("cito", "57150806-bc1a-42d6-9cf0-538d171a2d22");
    cacheIDs.put("webcam", "31d2ae3c-c358-4b5f-8dcd-2185bf472d3d");
    cacheIDs.put("virtual", "294d4360-ac86-4c83-84dd-8113ef678d7e");
    cacheIDs.put("wherigo", "0544fa55-772d-4e5c-96a9-36a51ebcf5c9");
    cacheIDs.put("lostfound", "3ea6533d-bb52-42fe-b2d2-79a3424d4728");
    cacheIDs.put("ape", "2555690d-b2bc-4b55-b5ac-0cb704c0b768");
    cacheIDs.put("gchq", "416f2494-dc17-4b6a-9bab-1a29dd292d8c");
    cacheIDs.put("gps", "72e69af2-7986-4990-afd9-bc16cbbb4ce3");

    // cache choices
    cacheIDsChoices.put(res.getString(R.string.all), cacheIDs.get("all"));
    cacheIDsChoices.put(res.getString(R.string.traditional), cacheIDs.get("traditional"));
    cacheIDsChoices.put(res.getString(R.string.multi), cacheIDs.get("multi"));
    cacheIDsChoices.put(res.getString(R.string.mystery), cacheIDs.get("mystery"));
    cacheIDsChoices.put(res.getString(R.string.letterbox), cacheIDs.get("letterbox"));
    cacheIDsChoices.put(res.getString(R.string.event), cacheIDs.get("event"));
    cacheIDsChoices.put(res.getString(R.string.mega), cacheIDs.get("mega"));
    cacheIDsChoices.put(res.getString(R.string.earth), cacheIDs.get("earth"));
    cacheIDsChoices.put(res.getString(R.string.cito), cacheIDs.get("cito"));
    cacheIDsChoices.put(res.getString(R.string.webcam), cacheIDs.get("webcam"));
    cacheIDsChoices.put(res.getString(R.string.virtual), cacheIDs.get("virtual"));
    cacheIDsChoices.put(res.getString(R.string.wherigo), cacheIDs.get("whereigo"));
    cacheIDsChoices.put(res.getString(R.string.lostfound), cacheIDs.get("lostfound"));
    cacheIDsChoices.put(res.getString(R.string.ape), cacheIDs.get("ape"));
    cacheIDsChoices.put(res.getString(R.string.gchq), cacheIDs.get("gchq"));
    cacheIDsChoices.put(res.getString(R.string.gps), cacheIDs.get("gps"));

    // waypoint types
    waypointTypes.put("flag", res.getString(R.string.wp_final));
    waypointTypes.put("stage", res.getString(R.string.wp_stage));
    waypointTypes.put("puzzle", res.getString(R.string.wp_puzzle));
    waypointTypes.put("pkg", res.getString(R.string.wp_pkg));
    waypointTypes.put("trailhead", res.getString(R.string.wp_trailhead));
    waypointTypes.put("waypoint", res.getString(R.string.wp_waypoint));

    // log types
    logTypes.put("icon_smile", LOG_FOUND_IT);
    logTypes.put("icon_sad", LOG_DIDNT_FIND_IT);
    logTypes.put("icon_note", LOG_NOTE);
    logTypes.put("icon_greenlight", LOG_PUBLISH_LISTING);
    logTypes.put("icon_enabled", LOG_ENABLE_LISTING);
    logTypes.put("traffic_cone", LOG_ARCHIVE);
    logTypes.put("icon_disabled", LOG_TEMP_DISABLE_LISTING);
    logTypes.put("icon_remove", LOG_NEEDS_ARCHIVE);
    logTypes.put("icon_rsvp", LOG_WILL_ATTEND);
    logTypes.put("icon_attended", LOG_ATTENDED);
    logTypes.put("picked_up", LOG_RETRIEVED_IT);
    logTypes.put("dropped_off", LOG_PLACED_IT);
    logTypes.put("transfer", LOG_GRABBED_IT);
    logTypes.put("icon_needsmaint", LOG_NEEDS_MAINTENANCE);
    logTypes.put("icon_maint", LOG_OWNER_MAINTENANCE);
    logTypes.put("coord_update", LOG_UPDATE_COORDINATES);
    logTypes.put("icon_discovered", LOG_DISCOVERED_IT);
    logTypes.put("big_smile", LOG_POST_REVIEWER_NOTE);
    logTypes.put("icon_visited", LOG_VISIT); // unknown ID; used number doesn't match any GC.com's ID
    logTypes.put("icon_camera", LOG_WEBCAM_PHOTO_TAKEN); // unknown ID; used number doesn't match any GC.com's ID
    logTypes.put("icon_announcement", LOG_ANNOUNCEMENT); // unknown ID; used number doesn't match any GC.com's ID

    logTypes0.put("found it", LOG_FOUND_IT);
    logTypes0.put("didn't find it", LOG_DIDNT_FIND_IT);
    logTypes0.put("write note", LOG_NOTE);
    logTypes0.put("publish listing", LOG_PUBLISH_LISTING);
    logTypes0.put("enable listing", LOG_ENABLE_LISTING);
    logTypes0.put("archive", LOG_ARCHIVE);
    logTypes0.put("temporarily disable listing", LOG_TEMP_DISABLE_LISTING);
    logTypes0.put("needs archived", LOG_NEEDS_ARCHIVE);
    logTypes0.put("will attend", LOG_WILL_ATTEND);
    logTypes0.put("attended", LOG_ATTENDED);
    logTypes0.put("retrieved it", LOG_RETRIEVED_IT);
    logTypes0.put("placed it", LOG_PLACED_IT);
    logTypes0.put("grabbed it", LOG_GRABBED_IT);
    logTypes0.put("needs maintenance", LOG_NEEDS_MAINTENANCE);
    logTypes0.put("owner maintenance", LOG_OWNER_MAINTENANCE);
    logTypes0.put("update coordinates", LOG_UPDATE_COORDINATES);
    logTypes0.put("discovered it", LOG_DISCOVERED_IT);
    logTypes0.put("post reviewer note", LOG_POST_REVIEWER_NOTE);
    logTypes0.put("visit", LOG_VISIT); // unknown ID; used number doesn't match any GC.com's ID
    logTypes0.put("webcam photo taken", LOG_WEBCAM_PHOTO_TAKEN); // unknown ID; used number doesn't match any GC.com's ID
    logTypes0.put("announcement", LOG_ANNOUNCEMENT); // unknown ID; used number doesn't match any GC.com's ID

    logTypes1.put(LOG_FOUND_IT, res.getString(R.string.log_found));
    logTypes1.put(LOG_DIDNT_FIND_IT, res.getString(R.string.log_dnf));
    logTypes1.put(LOG_NOTE, res.getString(R.string.log_note));
    logTypes1.put(LOG_PUBLISH_LISTING, res.getString(R.string.log_published));
    logTypes1.put(LOG_ENABLE_LISTING, res.getString(R.string.log_enabled));
    logTypes1.put(LOG_ARCHIVE, res.getString(R.string.log_archived));
    logTypes1.put(LOG_TEMP_DISABLE_LISTING, res.getString(R.string.log_disabled));
    logTypes1.put(LOG_NEEDS_ARCHIVE, res.getString(R.string.log_needs_archived));
    logTypes1.put(LOG_WILL_ATTEND, res.getString(R.string.log_attend));
    logTypes1.put(LOG_ATTENDED, res.getString(R.string.log_attended));
    logTypes1.put(LOG_RETRIEVED_IT, res.getString(R.string.log_retrieved));
    logTypes1.put(LOG_PLACED_IT, res.getString(R.string.log_placed));
    logTypes1.put(LOG_GRABBED_IT, res.getString(R.string.log_grabbed));
    logTypes1.put(LOG_NEEDS_MAINTENANCE, res.getString(R.string.log_maintenance_needed));
    logTypes1.put(LOG_OWNER_MAINTENANCE, res.getString(R.string.log_maintained));
    logTypes1.put(LOG_UPDATE_COORDINATES, res.getString(R.string.log_update));
    logTypes1.put(LOG_DISCOVERED_IT, res.getString(R.string.log_discovered));
    logTypes1.put(LOG_POST_REVIEWER_NOTE, res.getString(R.string.log_reviewed));
    logTypes1.put(LOG_VISIT, res.getString(R.string.log_taken));
    logTypes1.put(LOG_WEBCAM_PHOTO_TAKEN, res.getString(R.string.log_webcam));
    logTypes1.put(LOG_ANNOUNCEMENT, res.getString(R.string.log_announcement));

    logTypes2.put(LOG_FOUND_IT, res.getString(R.string.log_found)); // traditional, multi, unknown, earth, wherigo, virtual, letterbox
    logTypes2.put(LOG_DIDNT_FIND_IT, res.getString(R.string.log_dnf)); // traditional, multi, unknown, earth, wherigo, virtual, letterbox, webcam
    logTypes2.put(LOG_NOTE, res.getString(R.string.log_note)); // traditional, multi, unknown, earth, wherigo, virtual, event, letterbox, webcam, trackable
    logTypes2.put(LOG_PUBLISH_LISTING, res.getString(R.string.log_published)); // X
    logTypes2.put(LOG_ENABLE_LISTING, res.getString(R.string.log_enabled)); // owner
    logTypes2.put(LOG_ARCHIVE, res.getString(R.string.log_archived)); // traditional, multi, unknown, earth, event, wherigo, virtual, letterbox, webcam
    logTypes2.put(LOG_TEMP_DISABLE_LISTING, res.getString(R.string.log_disabled)); // owner
    logTypes2.put(LOG_NEEDS_ARCHIVE, res.getString(R.string.log_needs_archived)); // traditional, multi, unknown, earth, event, wherigo, virtual, letterbox, webcam
    logTypes2.put(LOG_WILL_ATTEND, res.getString(R.string.log_attend)); // event
    logTypes2.put(LOG_ATTENDED, res.getString(R.string.log_attended)); // event
    logTypes2.put(LOG_WEBCAM_PHOTO_TAKEN, res.getString(R.string.log_webcam)); // webcam
    logTypes2.put(LOG_RETRIEVED_IT, res.getString(R.string.log_retrieved)); //trackable
    logTypes2.put(LOG_GRABBED_IT, res.getString(R.string.log_grabbed)); //trackable
    logTypes2.put(LOG_NEEDS_MAINTENANCE, res.getString(R.string.log_maintenance_needed)); // traditional, unknown, multi, wherigo, virtual, letterbox, webcam
    logTypes2.put(LOG_OWNER_MAINTENANCE, res.getString(R.string.log_maintained)); // owner
    logTypes2.put(LOG_DISCOVERED_IT, res.getString(R.string.log_discovered)); //trackable
    logTypes2.put(LOG_POST_REVIEWER_NOTE, res.getString(R.string.log_reviewed)); // X
    logTypes2.put(LOG_ANNOUNCEMENT, res.getString(R.string.log_announcement)); // X

    // trackables for logs
    logTypesTrackable.put(0, res.getString(R.string.log_tb_nothing)); // do nothing
    logTypesTrackable.put(1, res.getString(R.string.log_tb_visit)); // visit cache
    logTypesTrackable.put(2, res.getString(R.string.log_tb_drop)); // drop here
    logTypesTrackableAction.put(0, ""); // do nothing
    logTypesTrackableAction.put(1, "_Visited"); // visit cache
    logTypesTrackableAction.put(2, "_DroppedOff"); // drop here

    // retrieving errors (because of ____ )
    errorRetrieve.put(1, res.getString(R.string.err_none));
    errorRetrieve.put(0, res.getString(R.string.err_start));
    errorRetrieve.put(-1, res.getString(R.string.err_parse));
    errorRetrieve.put(-2, res.getString(R.string.err_server));
    errorRetrieve.put(-3, res.getString(R.string.err_login));
    errorRetrieve.put(-4, res.getString(R.string.err_unknown));
    errorRetrieve.put(-5, res.getString(R.string.err_comm));
    errorRetrieve.put(-6, res.getString(R.string.err_wrong));
    errorRetrieve.put(-7, res.getString(R.string.err_license));

    // init
    app = appIn;
    settings = settingsIn;
    prefs = prefsIn;

    try {
        PackageManager manager = app.getPackageManager();
        PackageInfo info = manager.getPackageInfo(app.getPackageName(), 0);
        version = info.versionName;
    } catch (Exception e) {
        // nothing
    }

    if (settings.asBrowser == 1) {
        final long rndBrowser = Math.round(Math.random() * 6);
        if (rndBrowser == 0) {
            idBrowser = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.1 (KHTML, like Gecko) Chrome/5.0.322.2 Safari/533.1";
        } else if (rndBrowser == 1) {
            idBrowser = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDC)";
        } else if (rndBrowser == 2) {
            idBrowser = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3";
        } else if (rndBrowser == 3) {
            idBrowser = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-us) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10";
        } else if (rndBrowser == 4) {
            idBrowser = "Mozilla/5.0 (iPod; U; CPU iPhone OS 2_2_1 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5H11a Safari/525.20";
        } else if (rndBrowser == 5) {
            idBrowser = "Mozilla/5.0 (Linux; U; Android 1.1; en-gb; dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2";
        } else if (rndBrowser == 6) {
            idBrowser = "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.86 Safari/533.4";
        } else {
            idBrowser = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-US) AppleWebKit/532.9 (KHTML, like Gecko) Chrome/5.0.307.11 Safari/532.9";
        }
    }
}

From source file:com.codename1.impl.android.AndroidImplementation.java

/**
 * Return a list of all of the permissions that have been requested by the app (granted or no).
 * This can be used to see which permissions are included in the manifest file.
 * @return //from   ww w .ja va 2s.com
 */
public static List<String> getRequestedPermissions() {
    PackageManager pm = getContext().getPackageManager();
    try {
        PackageInfo packageInfo = pm.getPackageInfo(getContext().getPackageName(),
                PackageManager.GET_PERMISSIONS);
        String[] requestedPermissions = null;
        if (packageInfo != null) {
            requestedPermissions = packageInfo.requestedPermissions;
            return Arrays.asList(requestedPermissions);
        }
        return new ArrayList<String>();
    } catch (PackageManager.NameNotFoundException e) {
        com.codename1.io.Log.e(e);
        return new ArrayList<String>();
    }
}