List of usage examples for android.os Build MANUFACTURER
String MANUFACTURER
To view the source code for android.os Build MANUFACTURER.
Click Source Link
From source file:com.almalence.opencam.SavingService.java
protected File saveExifTags(File file, long sessionID, int i, int x, int y, int exif_orientation, boolean useGeoTaggingPrefExport, boolean enableExifTagOrientation) { addTimestamp(file, exif_orientation); // Set tag_model using ExifInterface. // If we try set tag_model using ExifDriver, then standard // gallery of android (Nexus 4) will crash on this file. // Can't figure out why, other Exif tools work fine. try {//from ww w . j av a 2 s . c om ExifInterface ei = new ExifInterface(file.getAbsolutePath()); String tag_model = getFromSharedMem("exiftag_model" + Long.toString(sessionID)); String tag_make = getFromSharedMem("exiftag_make" + Long.toString(sessionID)); if (tag_model == null) tag_model = Build.MODEL; ei.setAttribute(ExifInterface.TAG_MODEL, tag_model); if (tag_make == null) tag_make = Build.MANUFACTURER; ei.setAttribute(ExifInterface.TAG_MAKE, tag_make); ei.setAttribute(ExifInterface.TAG_ORIENTATION, String.valueOf(exif_orientation)); ei.saveAttributes(); } catch (IOException e1) { e1.printStackTrace(); } // Open ExifDriver. ExifDriver exifDriver = ExifDriver.getInstance(file.getAbsolutePath()); ExifManager exifManager = null; if (exifDriver != null) { exifManager = new ExifManager(exifDriver, getApplicationContext()); } if (useGeoTaggingPrefExport) { Location l = MLocation.getLocation(getApplicationContext()); if (l != null) { double lat = l.getLatitude(); double lon = l.getLongitude(); boolean hasLatLon = (lat != 0.0d) || (lon != 0.0d); if (hasLatLon) { exifManager.setGPSLocation(l.getLatitude(), l.getLongitude(), l.getAltitude()); } String GPSDateString = new SimpleDateFormat("yyyy:MM:dd").format(new Date(l.getTime())); if (GPSDateString != null) { ValueByteArray value = new ValueByteArray(ExifDriver.FORMAT_ASCII_STRINGS); value.setBytes(GPSDateString.getBytes()); exifDriver.getIfdGps().put(ExifDriver.TAG_GPS_DATE_STAMP, value); } } } String tag_exposure_time = getFromSharedMem("exiftag_exposure_time" + Long.toString(sessionID)); String tag_aperture = getFromSharedMem("exiftag_aperture" + Long.toString(sessionID)); String tag_flash = getFromSharedMem("exiftag_flash" + Long.toString(sessionID)); String tag_focal_length = getFromSharedMem("exiftag_focal_lenght" + Long.toString(sessionID)); String tag_iso = getFromSharedMem("exiftag_iso" + Long.toString(sessionID)); String tag_white_balance = getFromSharedMem("exiftag_white_balance" + Long.toString(sessionID)); String tag_spectral_sensitivity = getFromSharedMem( "exiftag_spectral_sensitivity" + Long.toString(sessionID)); String tag_version = getFromSharedMem("exiftag_version" + Long.toString(sessionID)); String tag_scene = getFromSharedMem("exiftag_scene_capture_type" + Long.toString(sessionID)); String tag_metering_mode = getFromSharedMem("exiftag_metering_mode" + Long.toString(sessionID)); if (exifDriver != null) { if (tag_exposure_time != null) { int[][] ratValue = ExifManager.stringToRational(tag_exposure_time); if (ratValue != null) { ValueRationals value = new ValueRationals(ExifDriver.FORMAT_UNSIGNED_RATIONAL); value.setRationals(ratValue); exifDriver.getIfdExif().put(ExifDriver.TAG_EXPOSURE_TIME, value); } } else { // hack for expo bracketing tag_exposure_time = getFromSharedMem( "exiftag_exposure_time" + Integer.toString(i) + Long.toString(sessionID)); if (tag_exposure_time != null) { int[][] ratValue = ExifManager.stringToRational(tag_exposure_time); if (ratValue != null) { ValueRationals value = new ValueRationals(ExifDriver.FORMAT_UNSIGNED_RATIONAL); value.setRationals(ratValue); exifDriver.getIfdExif().put(ExifDriver.TAG_EXPOSURE_TIME, value); } } } if (tag_aperture != null) { int[][] ratValue = ExifManager.stringToRational(tag_aperture); if (ratValue != null) { ValueRationals value = new ValueRationals(ExifDriver.FORMAT_UNSIGNED_RATIONAL); value.setRationals(ratValue); exifDriver.getIfdExif().put(ExifDriver.TAG_APERTURE_VALUE, value); } } if (tag_flash != null) { ValueNumber value = new ValueNumber(ExifDriver.FORMAT_UNSIGNED_SHORT, Integer.parseInt(tag_flash)); exifDriver.getIfdExif().put(ExifDriver.TAG_FLASH, value); } if (tag_focal_length != null) { int[][] ratValue = ExifManager.stringToRational(tag_focal_length); if (ratValue != null) { ValueRationals value = new ValueRationals(ExifDriver.FORMAT_UNSIGNED_RATIONAL); value.setRationals(ratValue); exifDriver.getIfdExif().put(ExifDriver.TAG_FOCAL_LENGTH, value); } } try { if (tag_iso != null) { if (tag_iso.indexOf("ISO") > 0) { tag_iso = tag_iso.substring(0, 2); } ValueNumber value = new ValueNumber(ExifDriver.FORMAT_UNSIGNED_SHORT, Integer.parseInt(tag_iso)); exifDriver.getIfdExif().put(ExifDriver.TAG_ISO_SPEED_RATINGS, value); } } catch (Exception e) { e.printStackTrace(); } if (tag_scene != null) { ValueNumber value = new ValueNumber(ExifDriver.FORMAT_UNSIGNED_SHORT, Integer.parseInt(tag_scene)); exifDriver.getIfdExif().put(ExifDriver.TAG_SCENE_CAPTURE_TYPE, value); } else { int sceneMode = CameraController.getSceneMode(); int sceneModeVal = 0; if (sceneMode == CameraParameters.SCENE_MODE_LANDSCAPE) { sceneModeVal = 1; } else if (sceneMode == CameraParameters.SCENE_MODE_PORTRAIT) { sceneModeVal = 2; } else if (sceneMode == CameraParameters.SCENE_MODE_NIGHT) { sceneModeVal = 3; } ValueNumber value = new ValueNumber(ExifDriver.FORMAT_UNSIGNED_SHORT, sceneModeVal); exifDriver.getIfdExif().put(ExifDriver.TAG_SCENE_CAPTURE_TYPE, value); } if (tag_white_balance != null) { exifDriver.getIfd0().remove(ExifDriver.TAG_LIGHT_SOURCE); ValueNumber value = new ValueNumber(ExifDriver.FORMAT_UNSIGNED_SHORT, Integer.parseInt(tag_white_balance)); exifDriver.getIfdExif().put(ExifDriver.TAG_WHITE_BALANCE, value); exifDriver.getIfdExif().put(ExifDriver.TAG_LIGHT_SOURCE, value); } else { exifDriver.getIfd0().remove(ExifDriver.TAG_LIGHT_SOURCE); int whiteBalance = CameraController.getWBMode(); int whiteBalanceVal = 0; int lightSourceVal = 0; if (whiteBalance == CameraParameters.WB_MODE_AUTO) { whiteBalanceVal = 0; lightSourceVal = 0; } else { whiteBalanceVal = 1; lightSourceVal = 0; } if (whiteBalance == CameraParameters.WB_MODE_DAYLIGHT) { lightSourceVal = 1; } else if (whiteBalance == CameraParameters.WB_MODE_FLUORESCENT) { lightSourceVal = 2; } else if (whiteBalance == CameraParameters.WB_MODE_WARM_FLUORESCENT) { lightSourceVal = 2; } else if (whiteBalance == CameraParameters.WB_MODE_INCANDESCENT) { lightSourceVal = 3; } else if (whiteBalance == CameraParameters.WB_MODE_TWILIGHT) { lightSourceVal = 3; } else if (whiteBalance == CameraParameters.WB_MODE_CLOUDY_DAYLIGHT) { lightSourceVal = 10; } else if (whiteBalance == CameraParameters.WB_MODE_SHADE) { lightSourceVal = 11; } ValueNumber valueWB = new ValueNumber(ExifDriver.FORMAT_UNSIGNED_SHORT, whiteBalanceVal); exifDriver.getIfdExif().put(ExifDriver.TAG_WHITE_BALANCE, valueWB); ValueNumber valueLS = new ValueNumber(ExifDriver.FORMAT_UNSIGNED_SHORT, lightSourceVal); exifDriver.getIfdExif().put(ExifDriver.TAG_LIGHT_SOURCE, valueLS); } if (tag_spectral_sensitivity != null) { ValueByteArray value = new ValueByteArray(ExifDriver.FORMAT_ASCII_STRINGS); value.setBytes(tag_spectral_sensitivity.getBytes()); exifDriver.getIfd0().put(ExifDriver.TAG_SPECTRAL_SENSITIVITY, value); } if (tag_version != null && !tag_version.equals("48 50 50 48")) { ValueByteArray value = new ValueByteArray(ExifDriver.FORMAT_ASCII_STRINGS); value.setBytes(tag_version.getBytes()); exifDriver.getIfd0().put(ExifDriver.TAG_EXIF_VERSION, value); } else { ValueByteArray value = new ValueByteArray(ExifDriver.FORMAT_ASCII_STRINGS); byte[] version = { (byte) 48, (byte) 50, (byte) 50, (byte) 48 }; value.setBytes(version); exifDriver.getIfd0().put(ExifDriver.TAG_EXIF_VERSION, value); } if (tag_metering_mode != null && !tag_metering_mode.equals("") && Integer.parseInt(tag_metering_mode) <= 255) { ValueNumber value = new ValueNumber(ExifDriver.FORMAT_UNSIGNED_SHORT, Integer.parseInt(tag_metering_mode)); exifDriver.getIfdExif().put(ExifDriver.TAG_METERING_MODE, value); exifDriver.getIfd0().put(ExifDriver.TAG_METERING_MODE, value); } else { ValueNumber value = new ValueNumber(ExifDriver.FORMAT_UNSIGNED_SHORT, 0); exifDriver.getIfdExif().put(ExifDriver.TAG_METERING_MODE, value); exifDriver.getIfd0().put(ExifDriver.TAG_METERING_MODE, value); } ValueNumber xValue = new ValueNumber(ExifDriver.FORMAT_UNSIGNED_LONG, x); exifDriver.getIfdExif().put(ExifDriver.TAG_IMAGE_WIDTH, xValue); ValueNumber yValue = new ValueNumber(ExifDriver.FORMAT_UNSIGNED_LONG, y); exifDriver.getIfdExif().put(ExifDriver.TAG_IMAGE_HEIGHT, yValue); String dateString = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss").format(new Date()); if (dateString != null) { ValueByteArray value = new ValueByteArray(ExifDriver.FORMAT_ASCII_STRINGS); // Date string length is 19 bytes. But exif tag // specification length is 20 bytes. // That's why we add "empty" byte (0x00) in the end. byte[] bytes = dateString.getBytes(); byte[] res = new byte[20]; for (int ii = 0; ii < bytes.length; ii++) { res[ii] = bytes[ii]; } res[19] = 0x00; value.setBytes(res); exifDriver.getIfd0().put(ExifDriver.TAG_DATETIME, value); exifDriver.getIfdExif().put(ExifDriver.TAG_DATETIME_DIGITIZED, value); exifDriver.getIfdExif().put(ExifDriver.TAG_DATETIME_ORIGINAL, value); } // extract mode name String tag_modename = getFromSharedMem("mode_name" + Long.toString(sessionID)); if (tag_modename == null) tag_modename = ""; String softwareString = getResources().getString(R.string.app_name) + ", " + tag_modename; ValueByteArray softwareValue = new ValueByteArray(ExifDriver.FORMAT_ASCII_STRINGS); softwareValue.setBytes(softwareString.getBytes()); exifDriver.getIfd0().put(ExifDriver.TAG_SOFTWARE, softwareValue); if (enableExifTagOrientation) { ValueNumber value = new ValueNumber(ExifDriver.FORMAT_UNSIGNED_SHORT, exif_orientation); exifDriver.getIfd0().put(ExifDriver.TAG_ORIENTATION, value); } else { ValueNumber value = new ValueNumber(ExifDriver.FORMAT_UNSIGNED_SHORT, ExifInterface.ORIENTATION_NORMAL); exifDriver.getIfd0().put(ExifDriver.TAG_ORIENTATION, value); } // Save exif info to new file, and replace old file with new // one. File modifiedFile = new File(file.getAbsolutePath() + ".tmp"); exifDriver.save(modifiedFile.getAbsolutePath()); return modifiedFile; } return null; }
From source file:com.plusot.senselib.SenseMain.java
@SuppressWarnings("deprecation") public void onPopupResult(int dialogId, int viewId, int iWhich, int itemsSize, String sWhich, String sTag) { // , int tag) { switch (dialogId) { case VALUE_POPUP: switch (iWhich) { /*case 0:/*w w w . j a v a 2 s. com*/ showPopupDialog(VALUESELECT_POPUP, viewId, null); // , 0); break;*/ case 0: showMultiChoiceDialog(VALUESELECT_POPUP, viewId); break; case 1: // if (SenseGlobals.isLite) // showLiteWarning(); // else if (PreferenceKey.VOICEON.isTrue()) showMultiChoiceDialog(SPEECHSELECT_POPUP, viewId); else warnNoSpeech(); break; case 2: if (popupValue == null) { popupValue = viewGetCurrentValue(viewId); } if (popupValue != null) { final String[] units = Unit.getValidUnits(popupValue.getValueType().getUnitType(), this); showPopupDialog(UNIT_POPUP, viewId, units); } break; case 3: if (sWhich.equals(getString(R.string.calibrate))) { calibrate(); } else if (sWhich.equals(getString(R.string.set_level))) { if (Manager.managers.get(ManagerType.SENSOR_MANAGER) == null) return; ((AndroidSensorManager) Manager.managers.get(ManagerType.SENSOR_MANAGER)).setLevel(); ToastHelper.showToastLong(R.string.level_message); } break; } break; case UNIT_POPUP: final Unit unit = Unit.getUnitByChoiceString(sWhich, this); if (popupValue != null) { popupValue.setUnit(unit); } break; case VALUESELECT_POPUP: viewSetValue(viewId, Value.getValueByString(this, sWhich)); ToastHelper.showToastShort(getString(R.string.hint_long_click)); saveConfiguration(); break; case YEAR_POPUP: logYear = sWhich; showPopupDialog(MONTH_POPUP, viewId, null); // , 0); break; case MONTH_POPUP: logMonth = logMonths[iWhich]; LLog.d(Globals.TAG, CLASSTAG + ".showPopupDialog: logMonth = " + logMonth); showPopupDialog(DAY_POPUP, viewId, null); // , 0); break; case DAY_POPUP: logDay = logDays[iWhich]; if (fileExplorer != null) { switch (fileExplorer.getTag()) { case FileExplorer.ACTIVITY_TAG: showPopupDialog(TIMES_POPUP, viewId, null); break; } } break; case TIMES_POPUP: if (fileExplorer != null) { switch (fileExplorer.getTag()) { case FileExplorer.ACTIVITY_TAG: stopActivity("onPopupResult", false); ToastHelper.showToastLong(getString(R.string.chosen_file) + " = " + logDay + " " + DateUtils.getMonthString(logMonth - 1, DateUtils.LENGTH_LONG) + " " + logYear + " " + sWhich); DataLog dataLog = DataLog.getInstance(); if (dataLog != null) { String file = fileExplorer.getFileList(logYear, logMonth, logDay, sWhich); if (file != null) { SenseGlobals.replaySession = logYear + String.format("%02d%02d", logMonth, logDay) + "-" + sWhich.substring(0, 2) + sWhich.substring(3, 5) + sWhich.substring(6, 8); LLog.d(Globals.TAG, CLASSTAG + ".onPopupResult: ReplaySession = " + SenseGlobals.replaySession); dataLog.readCsv(new String[] { file }, this); } } // if (showMap) showLocation(); break; } } break; case STEP_POPUP: switch (step) { case 0: argosRecovery = 6 + iWhich; step = 1; showPopupDialog(STEP_POPUP, VIEW_ID_BASE + viewsAdded - 1, null); break; case 1: LLog.d(Globals.TAG, CLASSTAG + ".onPopuResult: STEP1SETTINGS_POPUP = " + iWhich); //ActivityUtil.lockScreenOrientation(this); switch (iWhich) { case 0: startActivityForResult(new Intent(this, BikeSettingsActivity.class), RESULT_STEP1); break; case 1: startActivityForResult(new Intent(SenseMain.this, AntSettingsActivity.class), RESULT_STEP1); break; case 2: startActivityForResult(new Intent(android.provider.Settings.ACTION_BLUETOOTH_SETTINGS), RESULT_STEP1); break; default: //enableAnt(); step = 2; showPopupDialog(STEP_POPUP, VIEW_ID_BASE + viewsAdded - 1, null); break; } break; case 2: if (iWhich == startOptions - 1) startUpDialogs("STEP2START_POPUP"); else { View view = this.findViewById(R.id.main_layout); if (view != null) view.setVisibility(View.VISIBLE); if (iWhich >= 0 && iWhich <= startOptions - 3) startActivity(iWhich == startOptions - 3); stepsDone = true; } lastAskForActivityStart = System.currentTimeMillis(); break; } break; case MOVESTART_POPUP: moveStartBusy = false; lastAskForActivityStart = System.currentTimeMillis(); case START_POPUP: if (iWhich >= 0 && iWhich <= itemsSize - 2) startActivity(iWhich == itemsSize - 2); break; case ARGOSSTOP_POPUP: switch (argosStopStep) { case 0: SimpleLog.getInstance(SimpleLogType.TEXT, ARGOS_MENTALSTATEFILE).log("recovery=" + argosRecovery); SimpleLog.getInstance(SimpleLogType.TEXT, ARGOS_MENTALSTATEFILE).log("intensity=" + (6 + iWhich)); argosStopStep = 1; showPopupDialog(ARGOSSTOP_POPUP, VIEW_ID_BASE + viewsAdded - 1, null); break; case 1: SimpleLog.getInstance(SimpleLogType.TEXT, ARGOS_MENTALSTATEFILE).log("fitness=" + (6 + iWhich)); new InputDialog(this, 666, R.string.remarkspopup_title, R.string.remarkspopup_description, "", R.string.remarkspopup_hint, new InputDialog.Listener() { @Override public void onClose(int id, String temp) { SimpleLog.getInstance(SimpleLogType.TEXT, ARGOS_MENTALSTATEFILE) .log("remark=" + temp); argosStopStep = 2; new SleepAndWake(new SleepAndWake.Listener() { @Override public void onWake() { shouldFinish = (shouldFinish == 1) ? 2 : 0; sendMail(true); } }, 100); } }).show(); break; } break; case FULLSTOP_POPUP: lastAskForActivityStart = System.currentTimeMillis(); if (iWhich == 0) { ToastHelper.showToastLong(R.string.toast_pause); pauseActivity("onPopupResult"); finishIt(); } else { stopActivity("onPopupResult", true); } // if (dialogId == FULLSTOP_POPUP) finishIt(); break; case STOP_POPUP: lastAskForActivityStart = System.currentTimeMillis(); if (iWhich == 0) { ToastHelper.showToastLong(R.string.toast_pause); pauseActivity("onPopupResult"); } else { stopActivity("onPopupResult", false); } break; case SHARE_POPUP: switch (iWhich) { case 0: this.sendMail(false); break; case 1: // if (SenseGlobals.isLite) { // this.showLiteWarning(); // } else if (!PreferenceKey.HTTPPOST.isTrue()) showTweetWarning(); else { String link = getString(R.string.tweet_msg, Globals.TAG, PreferenceKey.SHARE_URL.getString() + "?device=" + SenseUserInfo.getDeviceId(), TimeUtil.formatTime(System.currentTimeMillis(), "EEE dd MMM HH:mm:ss")); int session = HttpSender.getSession(); if (session >= 0) link += "&session=" + session; new Tweet(this, null).send(link); } break; case 2: // if (SenseGlobals.isLite) // this.showLiteWarning(); // else this.sendTP(); break; case 3: if (!Value.fileTypes.contains(FileType.FIT)) { this.warnNoFit(); break; } switch (new SendStravaMail(this).send()) { case SUCCES: break; case NOACCOUNT: this.warnAccount(); break; case NOFILES: this.warnNoFilesToday(); break; } break; case 4: StringBuffer buf = new StringBuffer(); buf.append("\nApp version: " + UserInfo.appNameVersion() + "\n"); buf.append("Android version: " + Build.VERSION.RELEASE + "\n"); buf.append("Android incremental: " + Build.VERSION.INCREMENTAL + "\n"); buf.append("Android SDK: " + Build.VERSION.SDK_INT + "\n"); //buf.append("FINGERPRINT: "+Build.FINGERPRINT+ "\n"); buf.append("Device manufacturer: " + Build.MANUFACTURER + "\n"); buf.append("Device brand: " + Build.BRAND + "\n"); buf.append("Device model: " + Build.MODEL + "\n"); buf.append("Device board: " + Build.BOARD + "\n"); buf.append("Device id: " + Build.DEVICE); new LogMail(this, getString(R.string.reportmail, TimeUtil.formatTime(System.currentTimeMillis()), buf), getString(R.string.mail_sending), getString(R.string.no_mail_to_send), null); } break; case INTERVAL_POPUP: switch (iWhich) { case 0: newInterval(); break; case 1: new LapsDialog(this, Laps.getLaps() - 1, false).show(); } break; case GPX_POPUP: ToastHelper.showToastLong(getString(R.string.get_gpx_file, sWhich + " " + sTag)); getGPX(sTag); break; } }
From source file:com.almalence.opencam.PluginManagerBase.java
public boolean addToSharedMemExifTagsFromCamera(final long SessionID) { Camera.Parameters params = CameraController.getCameraParameters(); if (params == null) return false; String s1 = null;/* w ww . j a v a 2 s . c o m*/ if (params.getSupportedWhiteBalance() != null) s1 = params.getWhiteBalance() .compareTo(ApplicationScreen.getAppResources().getString(R.string.wbAutoSystem)) == 0 ? String.valueOf(0) : String.valueOf(1); String s2 = Build.MANUFACTURER; String s3 = Build.MODEL; String s4 = null; if (ApplicationScreen.getGUIManager().mISOSupported) s4 = String.valueOf(CameraController.getISOMode()); if (s1 != null) addToSharedMem("exiftag_white_balance" + SessionID, s1); if (s2 != null) addToSharedMem("exiftag_make" + SessionID, s2); if (s3 != null) addToSharedMem("exiftag_model" + SessionID, s3); if (s4 != null && (s4.compareTo("auto") != 0)) addToSharedMem("exiftag_iso" + SessionID, s4); return true; }
From source file:github.daneren2005.dsub.util.Util.java
/** * <p>Broadcasts the given player state as the one being set.</p> *///from w w w .ja v a 2 s. c o m public static void broadcastPlaybackStatusChange(Context context, MusicDirectory.Entry song, PlayerState state) { Intent intent = new Intent(EVENT_PLAYSTATE_CHANGED); Intent avrcpIntent = new Intent(AVRCP_PLAYSTATE_CHANGED); switch (state) { case STARTED: intent.putExtra("state", "play"); avrcpIntent.putExtra("playing", true); break; case STOPPED: intent.putExtra("state", "stop"); avrcpIntent.putExtra("playing", false); break; case PAUSED: intent.putExtra("state", "pause"); avrcpIntent.putExtra("playing", false); break; case PREPARED: // Only send quick pause event for samsung devices, causes issues for others if (Build.MANUFACTURER.toLowerCase().indexOf("samsung") != -1) { avrcpIntent.putExtra("playing", false); } else { return; // Don't broadcast anything } break; case COMPLETED: intent.putExtra("state", "complete"); avrcpIntent.putExtra("playing", false); break; default: return; // No need to broadcast. } addTrackInfo(context, song, avrcpIntent); if (state != PlayerState.PREPARED) { context.sendBroadcast(intent); } context.sendBroadcast(avrcpIntent); }
From source file:biz.bokhorst.xprivacy.ActivityMain.java
@SuppressLint("DefaultLocale") private void optionAbout() { // About//from ww w. j av a2s . c om Dialog dlgAbout = new Dialog(this); dlgAbout.requestWindowFeature(Window.FEATURE_LEFT_ICON); dlgAbout.setTitle(R.string.menu_about); dlgAbout.setContentView(R.layout.about); dlgAbout.setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, getThemed(R.attr.icon_launcher)); // Show version try { int userId = Util.getUserId(Process.myUid()); Version currentVersion = new Version(Util.getSelfVersionName(this)); Version storedVersion = new Version( PrivacyManager.getSetting(userId, PrivacyManager.cSettingVersion, "0.0")); boolean migrated = PrivacyManager.getSettingBool(userId, PrivacyManager.cSettingMigrated, false); String versionName = currentVersion.toString(); if (currentVersion.compareTo(storedVersion) != 0) versionName += "/" + storedVersion.toString(); if (!migrated) versionName += "!"; int versionCode = Util.getSelfVersionCode(this); TextView tvVersion = (TextView) dlgAbout.findViewById(R.id.tvVersion); tvVersion.setText(String.format(getString(R.string.app_version), versionName, versionCode)); } catch (Throwable ex) { Util.bug(null, ex); } if (!PrivacyManager.cVersion3 || Hook.isAOSP(19)) ((TextView) dlgAbout.findViewById(R.id.tvCompatibility)).setVisibility(View.GONE); // Show license String licensed = Util.hasProLicense(this); TextView tvLicensed1 = (TextView) dlgAbout.findViewById(R.id.tvLicensed); TextView tvLicensed2 = (TextView) dlgAbout.findViewById(R.id.tvLicensedAlt); if (licensed == null) { tvLicensed1.setText(Environment.getExternalStorageDirectory().getAbsolutePath()); tvLicensed2.setText(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) .getAbsolutePath()); } else { tvLicensed1.setText(String.format(getString(R.string.app_licensed), licensed)); tvLicensed2.setVisibility(View.GONE); } // Show some build properties String android = String.format("%s (%d)", Build.VERSION.RELEASE, Build.VERSION.SDK_INT); ((TextView) dlgAbout.findViewById(R.id.tvAndroid)).setText(android); ((TextView) dlgAbout.findViewById(R.id.build_brand)).setText(Build.BRAND); ((TextView) dlgAbout.findViewById(R.id.build_manufacturer)).setText(Build.MANUFACTURER); ((TextView) dlgAbout.findViewById(R.id.build_model)).setText(Build.MODEL); ((TextView) dlgAbout.findViewById(R.id.build_product)).setText(Build.PRODUCT); ((TextView) dlgAbout.findViewById(R.id.build_device)).setText(Build.DEVICE); ((TextView) dlgAbout.findViewById(R.id.build_host)).setText(Build.HOST); ((TextView) dlgAbout.findViewById(R.id.build_display)).setText(Build.DISPLAY); ((TextView) dlgAbout.findViewById(R.id.build_id)).setText(Build.ID); dlgAbout.setCancelable(true); final int userId = Util.getUserId(Process.myUid()); if (PrivacyManager.getSettingBool(userId, PrivacyManager.cSettingFirstRun, true)) dlgAbout.setOnDismissListener(new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { Dialog dlgUsage = new Dialog(ActivityMain.this); dlgUsage.requestWindowFeature(Window.FEATURE_LEFT_ICON); dlgUsage.setTitle(R.string.app_name); dlgUsage.setContentView(R.layout.usage); dlgUsage.setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, getThemed(R.attr.icon_launcher)); dlgUsage.setCancelable(true); dlgUsage.setOnDismissListener(new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { PrivacyManager.setSetting(userId, PrivacyManager.cSettingFirstRun, Boolean.FALSE.toString()); optionLegend(); } }); dlgUsage.show(); } }); dlgAbout.show(); }
From source file:com.scoreflex.Scoreflex.java
/** * Gets the model of this android device. * * @return/* w w w . j a va2 s .c o m*/ */ protected static String getDeviceModel() { return String.format("%s - %s", Build.MANUFACTURER, Build.MODEL); }
From source file:com.magnet.mmx.client.MMXClient.java
private void registerDeviceWithServer() { synchronized (mMessagingHandler) { mMessagingHandler.post(new Runnable() { public void run() { if (Log.isLoggable(TAG, Log.DEBUG)) { Log.d(TAG, "registerDeviceWithServer() start"); }// w w w . ja va 2 s . c om try { ConnectionInfo connectionInfo = getConnectionInfo(); int playServicesResult = GooglePlayServicesUtil.isGooglePlayServicesAvailable(mContext); if (playServicesResult == ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED) { GooglePlayServicesUtil.showErrorNotification(playServicesResult, mContext); } String gcmSenderId = connectionInfo.clientConfig.getGcmSenderId(); boolean isGcmWakeupEnabled = connectionInfo.isGcmWakeupEnabled && ConnectionResult.SUCCESS == playServicesResult && gcmSenderId != null && !gcmSenderId.trim().isEmpty(); if (isGcmWakeupEnabled) { GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(mContext); String gcmRegId = connectionInfo.gcmRegId; int gcmRegIdAppVersion = connectionInfo.gcmRegIdAppVersion; int appVersion = getAppVersion(); boolean isNeedNewToken = gcmRegId == null || gcmRegIdAppVersion < 0 || gcmRegIdAppVersion != appVersion; if (isNeedNewToken) { if (Log.isLoggable(TAG, Log.DEBUG)) { Log.d(TAG, "registerDeviceWithServer() need new gcm token, registering."); } try { gcmRegId = gcm.register(gcmSenderId); synchronized (MMXClient.this) { SharedPreferences.Editor prefEditor = mSharedPreferences.edit(); prefEditor.putString(SHARED_PREF_KEY_GCM_REGID, gcmRegId); prefEditor.putInt(SHARED_PREF_KEY_GCM_REGID_APPVERSION, appVersion); prefEditor.commit(); mConnectionInfo = null; //reload the connection info since been updated connectionInfo = getConnectionInfo(); } } catch (Exception ex) { Log.e(TAG, "registerDeviceWithServer() GCM registration failed!", ex); notifyConnectionEvent(ConnectionEvent.WAKEUP_REGISTRATION_FAILED); } } } //Register this device with MMX server. if (Log.isLoggable(TAG, Log.DEBUG)) { Log.d(TAG, "registerDeviceWithServer() create DevReg.Request()"); } DevReg devReg = new DevReg(); devReg.setPushType(isGcmWakeupEnabled ? PushType.GCM.toString() : null); devReg.setPushToken(isGcmWakeupEnabled ? connectionInfo.gcmRegId : null); devReg.setDevId(mMMXContext.getDeviceId()); devReg.setModelInfo(Build.MANUFACTURER + " " + Build.MODEL); // TODO: it will be nice to get the Security Setting's Owner info devReg.setDisplayName(devReg.getModelInfo()); try { CarrierEnum carrier = DeviceUtil.getCarrier(mContext); devReg.setCarrierInfo((carrier == null) ? null : carrier.toString()); } catch (SecurityException ex) { Log.w(TAG, "registerDeviceWithServer(): Unable to get carrier info: " + ex.getMessage()); } try { devReg.setPhoneNumber(DeviceUtil.getLineNumber(mContext)); } catch (SecurityException ex) { Log.w(TAG, "registerDeviceWithServer(): Unable to get phone number info: " + ex.getMessage()); } devReg.setOsType(OSType.ANDROID.toString()); devReg.setOsVersion(Build.VERSION.RELEASE); // Register the client protocol version numbers. devReg.setVersionMajor(Constants.MMX_VERSION_MAJOR); devReg.setVersionMinor(Constants.MMX_VERSION_MINOR); MMXStatus status = getDeviceManager().register(devReg); if (Log.isLoggable(TAG, Log.DEBUG)) { Log.d(TAG, "registerDeviceWithServer(): device registration completed with status=" + status); } notifyConnectionEvent(ConnectionEvent.CONNECTED); getQueue().processPendingItems(); } catch (MMXException e) { Log.e(TAG, "registerDeviceWithServer(): caught MMXException code=" + e.getCode(), e); if (e.getCode() == 400) { //if status is unsuccessful, disconnect notifyConnectionEvent(ConnectionEvent.AUTHENTICATION_FAILURE); disconnect(); } } } }); } }
From source file:org.anurag.file.quest.FileQuestHD.java
/** * this function finds the device information and sets in drawer menu.... *//*from w ww . jav a 2s . c om*/ private void init_with_device_id() { TextView devId = (TextView) findViewById(R.id.dev_id); String dev = Build.MODEL; String man = Build.MANUFACTURER; if (dev.length() == 0 || dev == null) dev = getString(R.string.unknown); else { if (!dev.contains(man)) dev = man + " " + dev; char a = dev.charAt(0); if (!Character.isUpperCase(a)) { dev = Character.toUpperCase(a) + dev.substring(1); } } devId.setText(dev); }
From source file:com.jaredrummler.android.device.DeviceName.java
/** Get the device name from the generated JSON files created from Google's device list. */ private static DeviceInfo getDeviceInfo(Context context, String codename, String model) { SharedPreferences prefs = context.getSharedPreferences(SHARED_PREF_NAME, Context.MODE_PRIVATE); String key = String.format("%s:%s", codename, model); String savedJson = prefs.getString(key, null); if (savedJson != null) { try {/*from ww w . j a v a2 s .c om*/ return new DeviceInfo(new JSONObject(savedJson)); } catch (JSONException e) { e.printStackTrace(); } } // check if we have an internet connection int ret = context.checkCallingOrSelfPermission(Manifest.permission.ACCESS_NETWORK_STATE); boolean isConnectedToNetwork = false; if (ret == PackageManager.PERMISSION_GRANTED) { ConnectivityManager connMgr = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isConnected()) { isConnectedToNetwork = true; } } else { // assume we are connected. isConnectedToNetwork = true; } if (isConnectedToNetwork) { try { String url = String.format(DEVICE_JSON_URL, codename.toLowerCase(Locale.ENGLISH)); String jsonString = downloadJson(url); JSONArray jsonArray = new JSONArray(jsonString); for (int i = 0, len = jsonArray.length(); i < len; i++) { JSONObject json = jsonArray.getJSONObject(i); DeviceInfo info = new DeviceInfo(json); if ((codename.equalsIgnoreCase(info.codename) && model == null) || codename.equalsIgnoreCase(info.codename) && model.equalsIgnoreCase(info.model)) { // Save to SharedPreferences so we don't need to make another request. SharedPreferences.Editor editor = prefs.edit(); editor.putString(key, json.toString()); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { editor.apply(); } else { editor.commit(); } return info; } } } catch (Exception e) { e.printStackTrace(); } } if (codename.equals(Build.DEVICE) && model.equals(Build.MODEL)) { return new DeviceInfo(Build.MANUFACTURER, getDeviceName(), codename, model); // current device } return new DeviceInfo(null, null, codename, model); // unknown device }
From source file:com.zoffcc.applications.zanavi.Navit.java
/** Called when the activity is first created. */ // ----------- remove later ------------- // ----------- remove later ------------- @SuppressLint("NewApi") // ----------- remove later ------------- // ----------- remove later ------------- @TargetApi(Build.VERSION_CODES.FROYO)/*from w w w. j a v a2 s . c o m*/ @Override public void onCreate(Bundle savedInstanceState) { // if (Navit.METHOD_DEBUG) Navit.my_func_name(0); // ------- only after API level 9 ------- // ------- only after API level 9 ------- // try // { // StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectAll().penaltyDeath().penaltyLog().build()); // StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectAll().penaltyLog().build()); // // StrictMode.ThreadPolicy old = StrictMode.getThreadPolicy(); // StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder(old).permitDiskWrites().build()); // old = StrictMode.getThreadPolicy(); // StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder(old).permitDiskReads().build()); // // } // catch (NoClassDefFoundError e) // { // } // ------- only after API level 9 ------- // ------- only after API level 9 ------- // Log.e("Navit", "OnCreate"); // if (checkPlayServices()) // { // } ZANaviMainApplication.restore_error_msg(this.getApplicationContext()); // app_status_lastalive = PreferenceManager.getDefaultSharedPreferences(this).getLong(PREF_KEY_LASTALIVE, -1L); app_status_string = PreferenceManager.getDefaultSharedPreferences(this).getString(PREF_KEY_CRASH, "down"); if (FDBL) { p.PREF_enable_debug_crashdetect = PreferenceManager.getDefaultSharedPreferences(this) .getBoolean("enable_debug_crashdetect", true); } else { p.PREF_enable_debug_crashdetect = PreferenceManager.getDefaultSharedPreferences(this) .getBoolean("enable_debug_crashdetect", PLAYSTORE_VERSION_CRASHDETECT); } System.out.println("app_status_string get:[onCreate]" + app_status_string); System.out.println("app_status_string=" + app_status_string); // System.out.println("app_status_string:app_status_lastalive=" + app_status_lastalive); if (app_status_string.compareToIgnoreCase("down") != 0) { if (Navit.CI_ALLOWCRASHREPORTS) { intro_flag_crash = true; System.out.println("app_status_string:1:" + "intro_flag_crash=" + intro_flag_crash); } else { intro_flag_crash = false; } } else { intro_flag_crash = false; } // if (System.currentTimeMillis() > app_status_lastalive + allowed_seconds_alive_for_crash) // { // // reset crash flag after X seconds // intro_flag_crash = false; // } if (checkForUpdate()) { // reset crash flag if we just updated intro_flag_crash = false; } if (!p.PREF_enable_debug_crashdetect) { // reset crash flag if we preference set to "false" intro_flag_crash = false; } // --- if we have no stacktrace -> don't show crash screen ---------- if (intro_flag_crash) { try { if (ZANaviMainApplication.last_stack_trace_as_string == null) { intro_flag_crash = false; } else if (ZANaviMainApplication.last_stack_trace_as_string.length() < 2) { intro_flag_crash = false; } } catch (Exception e) { e.printStackTrace(); } } // --- if we have no stacktrace -> don't show crash screen ---------- System.out.println("app_status_string:2:" + "intro_flag_crash=" + intro_flag_crash); try { app_status_string = "running"; PreferenceManager.getDefaultSharedPreferences(this).edit().putString(PREF_KEY_CRASH, "running") .commit(); System.out.println("app_status_string set:[onCreate]" + app_status_string); } catch (Exception e) { e.printStackTrace(); } api_version_int = Integer.valueOf(android.os.Build.VERSION.SDK); System.out.println("XXX:API=" + api_version_int); if (api_version_int > 10) { Navit.PAINT_OLD_API = false; } else { Navit.PAINT_OLD_API = true; } getPrefs_theme(); getPrefs_theme_main(); Navit.applySharedTheme(this, p.PREF_current_theme_M); super.onCreate(savedInstanceState); Global_Navit_Object = this; asset_mgr = getAssets(); PackageInfo pInfo; try { pInfo = getPackageManager().getPackageInfo(getPackageName(), 0); ZANAVI_VERSION = pInfo.versionName; } catch (NameNotFoundException e4) { } // Intent intent = new Intent(this, ZANaviAboutPage.class); // startActivity(intent); // --------- check permissions ----------- // --------- check permissions ----------- // --------- check permissions ----------- /* * * <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> * <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> * <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> * <uses-permission android:name="android.permission.WAKE_LOCK" /> * <uses-permission android:name="android.permission.INTERNET" /> * <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> * <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> */ //if (EasyPermissions.hasPermissions(this, perms)) //{ // // have permissions! //} //else //{ // // ask for permissions // EasyPermissions.requestPermissions(this, Navit.get_text("ZANavi needs some permissions..."), RC_PERM_001, perms); //} // --------- check permissions ----------- // --------- check permissions ----------- // --------- check permissions ----------- OSD_blueish_bg_color = getResources().getColor(R.color.blueish_bg_color); // getBaseContext_ = getBaseContext().getApplicationContext(); getBaseContext_ = getBaseContext(); last_orientation = getResources().getConfiguration().orientation; content_resolver = getContentResolver(); // get_reglevel(); Display display_ = getWindowManager().getDefaultDisplay(); metrics = new DisplayMetrics(); display_.getMetrics(Navit.metrics); road_book_items = new ArrayList<ListViewItem>(); fragmentManager = getSupportFragmentManager(); setContentView(R.layout.main_layout); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); if (toolbar != null) { try { setSupportActionBar(toolbar); // System.out.println("TTT01:" + toolbar); } catch (NoClassDefFoundError e) { } } try { getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE); getSupportActionBar().setDisplayUseLogoEnabled(false); getSupportActionBar().setIcon(R.drawable.icon); getSupportActionBar().setDisplayShowHomeEnabled(true); getSupportActionBar().setDisplayShowTitleEnabled(false); } catch (NoClassDefFoundError e) { } catch (Exception e) { e.printStackTrace(); } progressbar_main_activity = (ProgressBar) findViewById(R.id.progressbar_main_activity); progressbar_main_activity.setVisibility(View.GONE); progressbar_main_activity.setProgress(0); // ------------ bottom bar slider ---------------- // ------------ bottom bar slider ---------------- // ------------ bottom bar slider ---------------- if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { smaller_top_bar(true); } else { smaller_top_bar(false); } bottom_bar_px = (int) getResources().getDimension(R.dimen.gui_top_container_height); // System.out.println("VVV:bottom_bar_height:" + bottom_bar_px); bottom_bar_slider_shadow_px = (int) getResources() .getDimension(R.dimen.bottom_slide_view_shadow_compat_height); // System.out.println("VVV:bottom_bar_slider_shadow_px:" + bottom_bar_slider_shadow_px); // final RelativeLayout a = (RelativeLayout) findViewById(R.id.bottom_bar_container); final FrameLayout a = (FrameLayout) findViewById(R.id.bottom_bar_slide); final RelativeLayout.LayoutParams pp22 = (RelativeLayout.LayoutParams) a.getLayoutParams(); // Calculate ToolBar height try { TypedValue tv = new TypedValue(); if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) { actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, getResources().getDisplayMetrics()); System.out.println("VVV:abh:" + actionBarHeight); } else { actionBarHeight = NavitGraphics.dp_to_px(144); } } catch (Exception e) { actionBarHeight = NavitGraphics.dp_to_px(144); } final android.support.v7.widget.Toolbar view_toolbar_top = (android.support.v7.widget.Toolbar) findViewById( R.id.toolbar); ViewTreeObserver vto = view_toolbar_top.getViewTreeObserver(); vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { view_toolbar_top.getViewTreeObserver().removeGlobalOnLayoutListener(this); // int width = view_toolbar_top.getMeasuredWidth(); int height = view_toolbar_top.getMeasuredHeight(); Navit.actionBarHeight = height; // System.out.println("hhh:88=" + Navit.actionBarHeight); Navit.cur_y_margin_bottom_bar_touch = Navit.map_view_height + Navit.actionBarHeight + bottom_bar_px - Navit.bottom_bar_slider_shadow_px; // try to put view at bottom pp22.setMargins(0, (int) Navit.cur_y_margin_bottom_bar_touch, 0, 0); // left, top, right, bottom a.setLayoutParams(pp22); a.requestLayout(); } }); // actionBarHeight = 168; // final int SWIPE_MIN_DISTANCE = NavitGraphics.dp_to_px(25); // final float SWIPE_THRESHOLD_VELOCITY = 5.5f; // final float FLING_PIXELS_PER_SECOND = 100; // final float maxFlingVelocity = ViewConfiguration.get(this).getScaledMaximumFlingVelocity(); final ViewConfiguration vc = ViewConfiguration.get(this); final int swipeMinDistance = vc.getScaledPagingTouchSlop(); final int swipeThresholdVelocity = vc.getScaledMinimumFlingVelocity(); swipeMaxOffPath = vc.getScaledTouchSlop(); // (there is also vc.getScaledMaximumFlingVelocity() one could check against) // setup some values -------- NavitGraphics.long_press_on_screen_max_distance = swipeMaxOffPath; // setup some values -------- class MyGestureDetector extends SimpleOnGestureListener { @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { try { // float velocityPercentY = velocityY / maxFlingVelocity; // the percent is a value in the range of (0, 1] // float normalizedVelocityY = velocityPercentY * FLING_PIXELS_PER_SECOND; // where PIXELS_PER_SECOND is a device-independent measurement // System.out.println("VVV:" + (e1.getY() - e2.getY()) + " " + NavitGraphics.dp_to_px((int) (e1.getY() - e2.getY())) + " " + maxFlingVelocity + " " + velocityY + " " + velocityPercentY + " " + normalizedVelocityY + " " + SWIPE_THRESHOLD_VELOCITY); // System.out.println("VVV:2:" + swipeMinDistance + " " + swipeThresholdVelocity + " " + swipeMaxOffPath); // bottom to top if (e1.getY() - e2.getY() > swipeMinDistance && Math.abs(velocityY) > swipeThresholdVelocity) { //int featureWidth = getMeasuredWidth(); //mActiveFeature = (mActiveFeature < (mItems.size() - 1)) ? mActiveFeature + 1 : mItems.size() - 1; //smoothScrollTo(mActiveFeature * featureWidth, 0); //System.out.println("GS:002:up:" + velocityY + " " + e2.getY() + " " + e1.getY()); animate_bottom_bar_up(); return true; } // top to bottom else if (e2.getY() - e1.getY() > swipeMinDistance && Math.abs(velocityY) > swipeThresholdVelocity) { //int featureWidth = getMeasuredWidth(); //mActiveFeature = (mActiveFeature > 0) ? mActiveFeature - 1 : 0; //smoothScrollTo(mActiveFeature * featureWidth, 0); //System.out.println("GS:003:down:" + velocityY + " " + e1.getY() + " " + e2.getY()); animate_bottom_bar_down(); return true; } } catch (Exception e) { //System.out.println("GS:009:EE:" + e.getMessage()); } return false; } } mGestureDetector = new GestureDetector(new MyGestureDetector()); push_pin_view = (ImageView) findViewById(R.id.bottom_slide_left_side); push_pin_view.setOnClickListener(new ImageView.OnClickListener() { public void onClick(View v) { try { toggle_follow_button(); } catch (Exception e) { } } }); cur_y_margin_bottom_bar_touch = 0; // try to put view at bottom a.setOnTouchListener(new View.OnTouchListener() { @Override synchronized public boolean onTouch(View v, MotionEvent m) { int action = m.getAction(); if (mGestureDetector.onTouchEvent(m)) { //System.out.println("GS:001:fling!!"); // System.out.println("FRAG:fling:011"); return true; } else if (action == MotionEvent.ACTION_DOWN) { last_y_bottom_bar_touch = m.getY(); // put roadbook into layout ----------- FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); try { if (road_book == null) { road_book = new ZANaviRoadbookFragment(); // System.out.println("FRAG:attach:001"); fragmentTransaction.replace(R.id.roadbook_fragment_container, road_book, ""); fragmentTransaction.commitAllowingStateLoss(); // fragmentTransaction.show(road_book); } else { // System.out.println("FRAG:attached:003"); } } catch (Exception ef) { } // put roadbook into layout ----------- return true; } else if ((action == MotionEvent.ACTION_UP) || (action == MotionEvent.ACTION_CANCEL)) { // System.out.println("FRAG:up/cancel:012"); // release if (cur_y_margin_bottom_bar_touch > (bottom_y_margin_bottom_bar_touch / 2)) { // snap back to bottom animate_bottom_bar_down(); } else { // snap top top animate_bottom_bar_up(); } } else // if (action == MotionEvent.ACTION_MOVE) { // System.out.println("FRAG:*else*:012"); if (Math.abs(last_y_bottom_bar_touch - m.getY()) > 2) { float last_margin = cur_y_margin_bottom_bar_touch; cur_y_margin_bottom_bar_touch = cur_y_margin_bottom_bar_touch - (last_y_bottom_bar_touch - m.getY()); if ((cur_y_margin_bottom_bar_touch >= 0) && (cur_y_margin_bottom_bar_touch <= bottom_y_margin_bottom_bar_touch)) { // System.out.println("VVV:move:" + cur_y_margin_bottom_bar_touch + " " + bottom_y_margin_bottom_bar_touch); last_y_bottom_bar_touch = m.getY() + (last_y_bottom_bar_touch - m.getY()); RelativeLayout.LayoutParams relativeParams = (RelativeLayout.LayoutParams) a .getLayoutParams(); relativeParams.setMargins(0, (int) cur_y_margin_bottom_bar_touch, 0, 0); // left, top, right, bottom a.setLayoutParams(relativeParams); a.requestLayout(); } else { // System.out.println("VVV:revert"); // revert position cur_y_margin_bottom_bar_touch = last_margin; } } } return true; } }); // ------------ bottom bar slider ---------------- // ------------ bottom bar slider ---------------- // ------------ bottom bar slider ---------------- // init cancel dialog!! ---------- // init cancel dialog!! ---------- Message msg2 = new Message(); Bundle b2 = new Bundle(); b2.putString("text", ""); msg2.what = 0; msg2.setData(b2); ZANaviDownloadMapCancelActivity.canceldialog_handler.sendMessage(msg2); // init cancel dialog!! ---------- // init cancel dialog!! ---------- app_window = getWindow(); // ---------------- set some directories ----------------- // ---------------- set some directories ----------------- NAVIT_DATA_DIR = this.getFilesDir().getPath(); this.getFilesDir().mkdirs(); // --- // System.out.println("data dir=" + NAVIT_DATA_DIR); NAVIT_DATA_SHARE_DIR = NAVIT_DATA_DIR + "/share/"; File tmp3 = new File(NAVIT_DATA_SHARE_DIR); tmp3.mkdirs(); // --- FIRST_STARTUP_FILE = NAVIT_DATA_SHARE_DIR + "/has_run_once.txt"; VERSION_FILE = NAVIT_DATA_SHARE_DIR + "/version.txt"; // ---------------- set some directories ----------------- // ---------------- set some directories ----------------- try { toneG = new ToneGenerator(AudioManager.STREAM_MUSIC, 100); } catch (Exception e) { } try { Class.forName("android.app.backup.BackupManager"); backupManager = new BackupManager(this); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } int width_ = display_.getWidth(); int height_ = display_.getHeight(); Log.e("Navit", "Navit -> pixels x=" + width_ + " pixels y=" + height_); Log.e("Navit", "Navit -> dpi=" + Navit.metrics.densityDpi); Log.e("Navit", "Navit -> density=" + Navit.metrics.density); Log.e("Navit", "Navit -> scaledDensity=" + Navit.metrics.scaledDensity); try { // send overspill factor to C-code Message msg33 = new Message(); Bundle b33 = new Bundle(); b33.putInt("Callback", 104); msg33.setData(b33); NavitGraphics.callback_handler.sendMessage(msg33); } catch (Exception eee) { } // ----- service ----- // ----- service ----- ZANaviMapDownloaderServiceIntent = new Intent(Navit.getBaseContext_, ZANaviMapDownloaderService.class); // ----- service ----- // ----- service ----- System.out.println("Navit:onCreate:JTHREAD ID=" + Thread.currentThread().getId()); System.out.println("Navit:onCreate:THREAD ID=" + NavitGraphics.GetThreadId()); // bitmaps for lanes lane_left = BitmapFactory.decodeResource(getResources(), R.drawable.lane_left); lane_right = BitmapFactory.decodeResource(getResources(), R.drawable.lane_right); lane_merge_to_left = BitmapFactory.decodeResource(getResources(), R.drawable.lane_merge_to_left); lane_merge_to_right = BitmapFactory.decodeResource(getResources(), R.drawable.lane_merge_to_right); lane_none = BitmapFactory.decodeResource(getResources(), R.drawable.lane_none); // bitmaps for lanes // paint for bitmapdrawing on map NavitGraphics.paint_for_map_display.setAntiAlias(true); NavitGraphics.paint_for_map_display.setFilterBitmap(true); // sky NavitGraphics.paint_sky_day.setAntiAlias(true); NavitGraphics.paint_sky_day.setColor(Color.parseColor("#79BAEC")); NavitGraphics.paint_sky_night.setAntiAlias(true); NavitGraphics.paint_sky_night.setColor(Color.parseColor("#090909")); // stars NavitGraphics.paint_sky_night_stars.setColor(Color.parseColor("#DEDDEF")); // twilight NavitGraphics.paint_sky_twilight1.setColor(Color.parseColor("#090909")); NavitGraphics.paint_sky_twilight2.setColor(Color.parseColor("#113268")); NavitGraphics.paint_sky_twilight3.setColor(Color.parseColor("#79BAEC")); Random m = new Random(); int i6 = 0; for (i6 = 0; i6 < (NavitGraphics.max_stars + 1); i6++) { NavitGraphics.stars_x[i6] = m.nextFloat(); NavitGraphics.stars_y[i6] = m.nextFloat(); NavitGraphics.stars_size[i6] = m.nextInt(3) + 1; } res_ = getResources(); int ii = 0; NavitGraphics.dl_thread_cur = 0; for (ii = 0; ii < NavitGraphics.dl_thread_max; ii++) { NavitGraphics.dl_thread[ii] = null; } String font_file_name = "Roboto-Regular.ttf"; // "LiberationSans-Regular.ttf"; NavitStreetnameFont = Typeface.createFromAsset(getBaseContext().getAssets(), font_file_name); // System.out.println("NavitStreetnameFont" + NavitStreetnameFont); Navit_maps_loaded = false; // only take arguments here, onResume gets called all the time (e.g. when screenblanks, etc.) Navit.startup_intent = this.getIntent(); // hack! remeber timstamp, and only allow 4 secs. later in onResume to set target! Navit.startup_intent_timestamp = System.currentTimeMillis(); Log.e("Navit", "**1**A " + startup_intent.getAction()); Log.e("Navit", "**1**D " + startup_intent.getDataString()); Log.e("Navit", "**1**I " + startup_intent.toString()); try { Log.e("Navit", "**1**DH E " + startup_intent.getExtras().describeContents()); } catch (Exception ee) { } startup_status = Navit_Status_NORMAL_STARTUP; // glSurfaceView = (GLSurfaceView) findViewById(R.id.glSurfaceView_001); // glSurfaceView.setEGLContextClientVersion(2); // enable OpenGL 2.0 // glSurfaceView.setRenderer(new GlRenderer()); // glSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY); // only render on demand // // // draw some sample lines ---- // // draw some sample lines ---- // // draw some sample lines ---- // ZANaviGlLine vertLine = new ZANaviGlLine(); // vertLine.SetVerts(1000f, 1000f, 0f, -1000f, -1000f, 0f); // vertLine.SetColor(.8f, .8f, 0f, 1.0f); // // float[] mMVPMatrix = new float[16]; // // // Position the eye behind the origin. // final float eyeX = 0.0f; // final float eyeY = 0.0f; // final float eyeZ = 1.5f; // // // We are looking toward the distance // final float lookX = 0.0f; // final float lookY = 0.0f; // final float lookZ = -5.0f; // // // Set our up vector. This is where our head would be pointing were we holding the camera. // final float upX = 0.0f; // final float upY = 1.0f; // final float upZ = 0.0f; // // // Set the view matrix. This matrix can be said to represent the camera position. // // NOTE: In OpenGL 1, a ModelView matrix is used, which is a combination of a model and // // view matrix. In OpenGL 2, we can keep track of these matrices separately if we choose. // Matrix.setLookAtM(mMVPMatrix, 0, eyeX, eyeY, eyeZ, lookX, lookY, lookZ, upX, upY, upZ); // // vertLine.draw(mMVPMatrix); // // glSurfaceView.postInvalidate(); // glSurfaceView.requestRender(); // glSurfaceView.postInvalidate(); // // draw some sample lines ---- // // draw some sample lines ---- // // draw some sample lines ---- // setup graphics objects // setup graphics objects // setup graphics objects NG__vehicle = new NavitGraphics(this, 1, 0, 0, 50, 50, 65535, 0, 0); NG__map_main = new NavitGraphics(this, 0, 0, 0, 100, 100, 0, 0, 0); Navit.N_NavitGraphics = NG__map_main; // setup graphics objects // setup graphics objects // setup graphics objects NV = new NavitVehicle(this); NSp = new NavitSpeech2(this); // init translated text ------------------------------------ // NavitTextTranslations.init(); final Runnable r = new Runnable() { public void run() { NavitTextTranslations.init(); } }; ThreadGroup group = new ThreadGroup("Group1"); new Thread(group, r, "ZTransInit1", 100000).start(); // use 0.1MByte stack // init translated text ------------------------------------ // set the new locale here ----------------------------------- getPrefs_loc(); activatePrefs_loc(); // set the new locale here ----------------------------------- // get the local language ------------- Locale locale = java.util.Locale.getDefault(); String lang = locale.getLanguage(); String langu = lang; String langc = lang; Log.e("Navit", "lang=" + lang); int pos = langu.indexOf('_'); if (pos != -1) { langc = langu.substring(0, pos); langu = langc + langu.substring(pos).toUpperCase(locale); Log.e("Navit", "substring lang " + langu.substring(pos).toUpperCase(locale)); // set lang. for translation NavitTextTranslations.main_language = langc; NavitTextTranslations.sub_language = langu.substring(pos).toUpperCase(locale); } else { String country = locale.getCountry(); Log.e("Navit", "Country1 " + country); Log.e("Navit", "Country2 " + country.toUpperCase(locale)); langu = langc + "_" + country.toUpperCase(locale); // set lang. for translation NavitTextTranslations.main_language = langc; NavitTextTranslations.sub_language = country.toUpperCase(locale); } Log.e("Navit", "Language " + lang); // get the local language ------------- TextView no_maps_text = (TextView) this.findViewById(R.id.no_maps_text); no_maps_text.setText("\n\n\n" + Navit.get_text("No Maps installed") + "\n" + Navit.get_text("Please download a map") + "\n\n"); // if (api_version_int < 11) // { try { try { no_maps_text.setVisibility(View.INVISIBLE); } catch (NoSuchMethodError e) { } try { no_maps_text.setActivated(false); } catch (NoSuchMethodError e) { } } catch (Exception e) { e.printStackTrace(); } // } // no_maps_text.postInvalidate(); // set map cache size here ----------------------------------- getPrefs_mapcache(); activatePrefs_mapcache(); // set map cache size here ----------------------------------- // get map data dir and set it ----------------------------- getPrefs_mapdir(); activatePrefs_mapdir(true); // get map data dir and set it ----------------------------- // get special prefs here ------------------------------------ get_prefs_highdpi(); // get special prefs here ------------------------------------ // make sure the new path for the navitmap.bin file(s) exist!! File navit_maps_dir = new File(MAP_FILENAME_PATH); navit_maps_dir.mkdirs(); // create nomedia files File nomedia_file = new File(MAP_FILENAME_PATH + ".nomedia"); try { nomedia_file.createNewFile(); } catch (Exception e1) { e1.printStackTrace(); } // create nomedia files // check if we already have a borders.bin file (if not, then extract the included simplified one) File b_ = new File(MAP_FILENAME_PATH + "/borders.bin"); try { if (!b_.exists()) { try { File c_ = new File(MAPMD5_FILENAME_PATH + "/borders.bin.md5"); c_.delete(); } catch (Exception e2) { } Log.e("Navit", "trying to extract borders simple resource to:" + MAP_FILENAME_PATH + "/borders.bin"); if (!extractRes("borders_simple", MAP_FILENAME_PATH + "/borders.bin")) { Log.e("Navit", "Failed to extract borders simple resource to:" + MAP_FILENAME_PATH + "/borders.bin"); } } } catch (Exception e) { } // check if we already have a borders.bin file // make sure the new path for config files exist File navit_cfg_dir = new File(CFG_FILENAME_PATH); navit_cfg_dir.mkdirs(); // make sure the new path for the navitmap.bin file(s) exist!! File navit_mapsmd5_dir = new File(MAPMD5_FILENAME_PATH); navit_mapsmd5_dir.mkdirs(); // make sure the share dir exists, otherwise the infobox will not show File navit_data_share_dir = new File(NAVIT_DATA_SHARE_DIR); navit_data_share_dir.mkdirs(); File dd = new File(NAVIT_DATA_DEBUG_DIR); dd.mkdirs(); // try to create cat. file if it does not exist File navit_maps_catalogue = new File(CFG_FILENAME_PATH + NavitMapDownloader.CAT_FILE); if (!navit_maps_catalogue.exists()) { FileOutputStream fos_temp; try { fos_temp = new FileOutputStream(navit_maps_catalogue); fos_temp.write((NavitMapDownloader.MAP_CAT_HEADER + "\n").getBytes()); // just write header to the file fos_temp.flush(); fos_temp.close(); } catch (Exception e) { e.printStackTrace(); } } // ---------- downloader threads ---------------- PackageInfo pkgInfo; Navit_DonateVersion_Installed = false; try { // is the donate version installed? pkgInfo = getPackageManager().getPackageInfo("com.zoffcc.applications.zanavi_donate", 0); String sharedUserId = pkgInfo.sharedUserId; System.out.println("str nd=" + sharedUserId); if (sharedUserId.equals("com.zoffcc.applications.zanavi")) { System.out.println("##bonus 001##"); Navit_DonateVersion_Installed = true; NavitMapDownloader.MULTI_NUM_THREADS = NavitMapDownloader.MULTI_NUM_THREADS_MAX; } } catch (NameNotFoundException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } try { if (get_reglevel() == 1) { System.out.println("##U:bonus 001##"); Navit_DonateVersion_Installed = true; NavitMapDownloader.MULTI_NUM_THREADS = NavitMapDownloader.MULTI_NUM_THREADS_MAX; } } catch (Exception e) { e.printStackTrace(); } try { // is the "large map" donate version installed? pkgInfo = getPackageManager().getPackageInfo("com.zoffcc.applications.zanavi_largemap_donate", 0); String sharedUserId = pkgInfo.sharedUserId; System.out.println("str lm=" + sharedUserId); if (sharedUserId.equals("com.zoffcc.applications.zanavi")) { System.out.println("##bonus 002##"); Navit_DonateVersion_Installed = true; Navit_Largemap_DonateVersion_Installed = true; NavitMapDownloader.MULTI_NUM_THREADS = NavitMapDownloader.MULTI_NUM_THREADS_MAX; } } catch (NameNotFoundException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } try { if (get_reglevel() == 1) { System.out.println("##U:bonus 002##"); Navit_DonateVersion_Installed = true; Navit_Largemap_DonateVersion_Installed = true; NavitMapDownloader.MULTI_NUM_THREADS = NavitMapDownloader.MULTI_NUM_THREADS_MAX; } } catch (Exception e) { e.printStackTrace(); } // update map list NavitMapDownloader.init_maps_without_donate_largemaps(); // ---------- downloader threads ---------------- // ---- detect menu button ---- detect_menu_button(); if (Navit.metrics.densityDpi >= 320) //&& (PREF_shrink_on_high_dpi)) { Navit.menu_button = BitmapFactory.decodeResource(getResources(), R.drawable.menu_001); } else { Navit.menu_button = BitmapFactory.decodeResource(getResources(), R.drawable.menu_001_small); } Navit.long_green_arrow = BitmapFactory.decodeResource(getResources(), R.drawable.long_green_arrow); Navit.follow_on = BitmapFactory.decodeResource(getResources(), R.drawable.follow); Navit.follow_off = BitmapFactory.decodeResource(getResources(), R.drawable.follow_off); Navit.follow_current = Navit.follow_on; if ((Navit.metrics.densityDpi >= 320) && (p.PREF_shrink_on_high_dpi)) { float factor; factor = (float) NavitGraphics.Global_Scaled_DPI_normal / (float) Navit.metrics.densityDpi; factor = factor * 1.7f; // BitmapFactory.Options o = new BitmapFactory.Options(); o.inDither = true; //o.inScaled = true; //o.inTargetDensity = NavitGraphics.Global_Scaled_DPI_normal; Navit.nav_arrow_stopped = BitmapFactory.decodeResource(getResources(), R.drawable.navigation_arrow_stopped, o); Navit.nav_arrow_moving = BitmapFactory.decodeResource(getResources(), R.drawable.navigation_arrow_moving, o); Navit.nav_arrow_moving_grey = BitmapFactory.decodeResource(getResources(), R.drawable.navigation_arrow_moving_grey, o); Navit.nav_arrow_moving_shadow = BitmapFactory.decodeResource(getResources(), R.drawable.navigation_arrow_moving_shadow, o); Navit.nav_arrow_stopped_small = Bitmap.createScaledBitmap(Navit.nav_arrow_stopped, (int) (Navit.nav_arrow_stopped.getWidth() / NavitGraphics.strech_factor_3d_map * factor), (int) (Navit.nav_arrow_stopped.getHeight() / NavitGraphics.strech_factor_3d_map * factor), true); Navit.nav_arrow_moving_small = Bitmap.createScaledBitmap(Navit.nav_arrow_moving, (int) (Navit.nav_arrow_moving.getWidth() / NavitGraphics.strech_factor_3d_map * factor), (int) (Navit.nav_arrow_moving.getHeight() / NavitGraphics.strech_factor_3d_map * factor), true); Navit.nav_arrow_moving_shadow_small = Bitmap.createScaledBitmap(Navit.nav_arrow_moving_shadow, (int) (Navit.nav_arrow_moving_shadow.getWidth() / NavitGraphics.strech_factor_3d_map * factor), (int) (Navit.nav_arrow_moving_shadow.getHeight() / NavitGraphics.strech_factor_3d_map * factor), true); } else { Navit.nav_arrow_stopped = BitmapFactory.decodeResource(getResources(), R.drawable.navigation_arrow_stopped); Navit.nav_arrow_moving = BitmapFactory.decodeResource(getResources(), R.drawable.navigation_arrow_moving); Navit.nav_arrow_moving_grey = BitmapFactory.decodeResource(getResources(), R.drawable.navigation_arrow_moving_grey); Navit.nav_arrow_moving_shadow = BitmapFactory.decodeResource(getResources(), R.drawable.navigation_arrow_moving_shadow); Navit.nav_arrow_stopped_small = Bitmap.createScaledBitmap(Navit.nav_arrow_stopped, (int) (Navit.nav_arrow_stopped.getWidth() / NavitGraphics.strech_factor_3d_map), (int) (Navit.nav_arrow_stopped.getHeight() / NavitGraphics.strech_factor_3d_map), true); Navit.nav_arrow_moving_small = Bitmap.createScaledBitmap(Navit.nav_arrow_moving, (int) (Navit.nav_arrow_moving.getWidth() / NavitGraphics.strech_factor_3d_map), (int) (1.5 * Navit.nav_arrow_moving.getHeight() / NavitGraphics.strech_factor_3d_map), true); Navit.nav_arrow_moving_shadow_small = Bitmap.createScaledBitmap(Navit.nav_arrow_moving_shadow, (int) (Navit.nav_arrow_moving_shadow.getWidth() / NavitGraphics.strech_factor_3d_map), (int) (1.5 * Navit.nav_arrow_moving_shadow.getHeight() / NavitGraphics.strech_factor_3d_map), true); } Navit.zoomin = BitmapFactory.decodeResource(getResources(), R.drawable.zoom_in_32_32); Navit.zoomout = BitmapFactory.decodeResource(getResources(), R.drawable.zoom_out_32_32); //Navit.oneway_arrow = BitmapFactory.decodeResource(getResources(), R.drawable.oneway); Navit.oneway_arrow = BitmapFactory.decodeResource(getResources(), R.drawable.oneway_large); Navit.oneway_bicycle_arrow = BitmapFactory.decodeResource(getResources(), R.drawable.oneway_bicycle_large); // ******************* // ******************* // ******************* // ******************* // check/init the catalogue file for downloaded maps NavitMapDownloader.init_cat_file(); // ******************* // ******************* // ******************* // ******************* xmlconfig_unpack_file = false; write_new_version_file = false; try { NavitAppVersion = "" + this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionCode; NavitAppVersion_string = "" + this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionName; } catch (NameNotFoundException e) { e.printStackTrace(); NavitAppVersion = "1"; NavitAppVersion_string = "1"; } catch (Exception e) { e.printStackTrace(); NavitAppVersion = "2"; NavitAppVersion_string = "2"; } try { File navit_version = new File(VERSION_FILE); if (!navit_version.exists()) { System.out.println("version file does not exist"); NavitAppVersion_prev = "-1"; write_new_version_file = true; } else { // files exists, read in the prev. verison number System.out.println("version file is here"); FileInputStream fos_temp; byte[] buffer = new byte[101]; fos_temp = new FileInputStream(navit_version); int len = fos_temp.read(buffer, 0, 100); if (len != -1) { // use only len bytes to make the string (the rest is garbage!!) NavitAppVersion_prev = new String(buffer).substring(0, len); } else { NavitAppVersion_prev = "-1"; write_new_version_file = true; } fos_temp.close(); } } catch (Exception e) { NavitAppVersion_prev = "-1"; write_new_version_file = true; e.printStackTrace(); } System.out.println("vprev:" + NavitAppVersion_prev + " vcur:" + NavitAppVersion); intro_flag_update = false; if (NavitAppVersion_prev.compareTo(NavitAppVersion) != 0) { // different version System.out.println("different version!!"); write_new_version_file = true; xmlconfig_unpack_file = true; //if ((NavitAppVersion_prev.compareTo("-1") != 0) && (NavitAppVersion.compareTo("-1") != 0)) //{ // user has upgraded to a new version of ZANavi startup_status = Navit_Status_UPGRADED_TO_NEW_VERSION; intro_flag_update = true; //} } else { // same version System.out.println("same version"); xmlconfig_unpack_file = false; } // write new version file if (write_new_version_file) { try { System.out.println("write version file"); FileOutputStream fos_temp; File navit_version = new File(VERSION_FILE); navit_version.delete(); fos_temp = new FileOutputStream(navit_version); fos_temp.write(NavitAppVersion.getBytes()); fos_temp.flush(); fos_temp.close(); } catch (Exception e) { e.printStackTrace(); } } // Sample useragent strings: // // Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0a1) Gecko/20110616 Firefox/7.0a1 SeaMonkey/2.4a1 // Dalvik/1.4.0 (Linux; U; Android 2.3.3; GT-I9100 Build/GINGERBREAD) // Dalvik/1.2.0 (Linux; U; Android 2.2.1; GT-S5830 Build/FROYO) // Dalvik/1.4.0 (Linux; U; Android 2.3.3; HTC Desire S Build/GRI40) // Dalvik/1.2.0 (Linux; U; Android 2.2.2; MB525 Build/3.4.2-179) // Dalvik/1.4.0 (Linux; U; Android 2.3.3; HTC Wildfire S A510e Build/GRI40) // Wget/1.10.2 // Dalvik/1.4.0 (Linux; U; Android 2.3.3; sdk Build/GRI34) // Dalvik/1.2.0 (Linux; U; Android 2.2.2; MB525 Build/3.4.2-164) // Dalvik/1.2.0 (Linux; U; Android 2.2; GT-I9000 Build/FROYO) // Dalvik/1.2.0 (Linux; U; Android 2.2.1; GT-S5570L Build/FROYO) // Dalvik/1.2.0 (Linux; U; Android 2.2.1; GT-I9000 Build/FROYO) // Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; InfoPath.1) String ANDROID = android.os.Build.VERSION.SDK; //The current development codename, or the string "REL" if this is a release build. //String BOARD = android.os.Build.BOARD; //The name of the underlying board, like "goldfish". //String BOOTLOADER = android.os.Build.BOOTLOADER; // The system bootloader version number. String BRAND = android.os.Build.BRAND; //The brand (e.g., carrier) the software is customized for, if any. //String CPU_ABI = android.os.Build.CPU_ABI; //The name of the instruction set (CPU type + ABI convention) of native code. //String CPU_ABI2 = android.os.Build.CPU_ABI2; // The name of the second instruction set (CPU type + ABI convention) of native code. String DEVICE = android.os.Build.DEVICE; // The name of the industrial design. String DISPLAY = android.os.Build.DISPLAY; //A build ID string meant for displaying to the user //String FINGERPRINT = android.os.Build.FINGERPRINT; //A string that uniquely identifies this build. //String HARDWARE = android.os.Build.HARDWARE; //The name of the hardware (from the kernel command line or /proc). //String HOST = android.os.Build.HOST; //String ID = android.os.Build.ID; //Either a changelist number, or a label like "M4-rc20". String MANUFACTURER = android.os.Build.MANUFACTURER; //The manufacturer of the product/hardware. //String MODEL = android.os.Build.MODEL; //The end-user-visible name for the end product. //String PRODUCT = android.os.Build.PRODUCT; //The name of the overall product. //String RADIO = android.os.Build.RADIO; //The radio firmware version number. //String TAGS = android.os.Build.TAGS; //Comma-separated tags describing the build, like "unsigned,debug". //String TYPE = android.os.Build.TYPE; //The type of build, like "user" or "eng". //String USER = android.os.Build.USER; String android_version = "Android " + ANDROID; String android_device = MANUFACTURER + " " + BRAND + " " + DEVICE; if (MANUFACTURER.equalsIgnoreCase("amazon")) { // we are on amazon device ZANaviNormalDonateActivity.on_amazon_device = true; } // debug // debug // android_device = "telechips telechips m801"; // debug // debug String android_rom_name = DISPLAY; if (FDBL) { android_rom_name = android_rom_name + "; FD"; } if (Navit_DonateVersion_Installed == false) { UserAgentString = "Mozilla/5.0 (Linux; U; " + "Z" + NavitAppVersion + "; " + android_version + "; " + android_device + " " + android_rom_name + ")"; UserAgentString_bind = "Mozilla/5.0 @__THREAD__@ (Linux; U; " + "Z" + NavitAppVersion + "; " + android_version + "; " + android_device + " " + android_rom_name + ")"; } else { if (Navit_Largemap_DonateVersion_Installed == false) { UserAgentString = "Mozilla/5.0 (Linux; U; " + "donateZ" + NavitAppVersion + "; " + android_version + "; " + android_device + " " + android_rom_name + ")"; UserAgentString_bind = "Mozilla/5.0 @__THREAD__@ (Linux; U; " + "donateZ" + NavitAppVersion + "; " + android_version + "; " + android_device + " " + android_rom_name + ")"; } else { UserAgentString = "Mozilla/5.0 (Linux; U; " + "LMdonateLMZ" + NavitAppVersion + "; " + android_version + "; " + android_device + " " + android_rom_name + ")"; UserAgentString_bind = "Mozilla/5.0 @__THREAD__@ (Linux; U; " + "LMdonateLMZ" + NavitAppVersion + "; " + android_version + "; " + android_device + " " + android_rom_name + ")"; } } // System.out.println("UA=" + UserAgentString); // --------- enable GPS ? -------------- // --------- enable GPS ? -------------- // try // { // final LocationManager llmanager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); // if (!llmanager.isProviderEnabled(LocationManager.GPS_PROVIDER)) // { // buildAlertMessageNoGps(); // } // } // catch (Exception e) // { // e.printStackTrace(); // } // --------- enable GPS ? -------------- // --------- enable GPS ? -------------- unsupported = false; try { if (android_device.toLowerCase().contains("telechips")) { if (android_device.toLowerCase().contains("m801")) { // if the donate version is already installed, dont disable the app if (Navit_DonateVersion_Installed == false) { if (Navit_Largemap_DonateVersion_Installed == false) { // activate [Weltbild] Cat Nova again (19.12.2011) // ** // unsupported = true; } } } } } catch (Exception e) { e.printStackTrace(); } try { // this hangs the emulator, if emulator < 2.3 (only works in emulator >= 2.3)!! if (!NAVIT_IS_EMULATOR) { sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); } } catch (Exception e3) { e3.printStackTrace(); } // try // { // vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); // } // catch (Exception e) // { // e.printStackTrace(); // } //sensorManager_ = sensorManager; // light sensor ------------------- try { lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); lightsensor_max_value = lightSensor.getMaximumRange(); lightSensorEventListener = new SensorEventListener() { @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } @Override public void onSensorChanged(SensorEvent event) { try { if (p.PREF_auto_night_mode) { if (event.sensor.getType() == Sensor.TYPE_LIGHT) { if (Navit.DEBUG_LUX_VALUE) { debug_cur_lux_value = event.values[0]; NavitGraphics.NavitAOverlay_s.postInvalidate(); } // System.out.println("Current Reading(Lux): cur=" + event.values[0] + " max=" + lightsensor_max_value); if (night_mode == false) { if (event.values[0] < p.PREF_night_mode_lux) { night_mode = true; set_night_mode(1); draw_map(); } } else if (night_mode == true) { if (event.values[0] > (p.PREF_night_mode_lux + p.PREF_night_mode_buffer)) { night_mode = false; set_night_mode(0); draw_map(); } } } } else { try { sensorManager.unregisterListener(lightSensorEventListener); System.out.println("stop lightsensor"); } catch (Exception e) { } try { night_mode = false; set_night_mode(0); draw_map(); } catch (Exception e) { } } } catch (Exception e) { // e.printStackTrace(); } } }; } catch (Exception e) { } // light sensor ------------------- generic_alert_box = new AlertDialog.Builder(this); /* * show info box for first time users */ AlertDialog.Builder infobox = new AlertDialog.Builder(this); //. english text: Welcome to ZANavi infobox.setTitle(Navit.get_text("__INFO_BOX_TITLE__")); //TRANS infobox.setCancelable(false); final TextView message = new TextView(this); message.setFadingEdgeLength(20); message.setVerticalFadingEdgeEnabled(true); message.setPadding(10, 5, 10, 5); message.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 18); message.setGravity(Gravity.LEFT); // message.setScrollBarStyle(TextView.SCROLLBARS_INSIDE_OVERLAY); // message.setVerticalScrollBarEnabled(true); RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT); rlp.leftMargin = 7; rlp.rightMargin = 7; Navit.Navit_Geocoder = null; try { // for online search Navit.Navit_Geocoder = new Geocoder(this); } catch (Exception e) { e.printStackTrace(); } // if (api_version_int < 11) // { // //TRANS // infobox.setPositiveButton(Navit.get_text("Ok"), new DialogInterface.OnClickListener() // { // public void onClick(DialogInterface arg0, int arg1) // { // Log.e("Navit", "Ok, user saw the infobox"); // } // }); // // //TRANS // infobox.setNeutralButton(Navit.get_text("More info"), new DialogInterface.OnClickListener() // { // public void onClick(DialogInterface arg0, int arg1) // { // Log.e("Navit", "user wants more info, show the website"); // // URL to ZANavi Manual (in english language) // String url = "http://zanavi.cc/index.php/Manual"; // if (FDBL) // { // url = "http://fd.zanavi.cc/manual"; // } // Intent i = new Intent(Intent.ACTION_VIEW); // i.setData(Uri.parse(url)); // startActivity(i); // } // }); // } info_popup_seen_count_end = false; File navit_first_startup = new File(FIRST_STARTUP_FILE); // if file does NOT exist, show the info box if (!navit_first_startup.exists()) { // set first-ever-startup flag first_ever_startup = true; info_popup_seen_count_end = true; // don't show on first ever start of the app startup_status = Navit_Status_COMPLETE_NEW_INSTALL; FileOutputStream fos_temp; try { info_popup_seen_count++; fos_temp = new FileOutputStream(navit_first_startup); fos_temp.write((int) info_popup_seen_count); // use to store info popup seen count fos_temp.flush(); fos_temp.close(); // if (api_version_int < 11) // { // message.setLayoutParams(rlp); // //. TRANSLATORS: multiline info text for first startup of application (see en_US for english text) // final SpannableString s = new SpannableString(" " + Navit.get_text("__INFO_BOX_TEXT__")); //TRANS // Linkify.addLinks(s, Linkify.WEB_URLS); // message.setText(s); // message.setMovementMethod(LinkMovementMethod.getInstance()); // infobox.setView(message); // infobox.show(); // } } catch (Exception e) { e.printStackTrace(); } } else { FileOutputStream fos_temp; FileInputStream fis_temp; try { fis_temp = new FileInputStream(navit_first_startup); info_popup_seen_count = fis_temp.read(); fis_temp.close(); if (info_popup_seen_count < 0) { info_popup_seen_count = 0; } // we wrote "A" -> (int)65 previously, so account for that if (info_popup_seen_count == 65) { info_popup_seen_count = 0; } if (info_popup_seen_count > info_popup_seen_count_max) { info_popup_seen_count_end = true; } else { info_popup_seen_count++; fos_temp = new FileOutputStream(navit_first_startup); fos_temp.write((int) info_popup_seen_count); // use to store info popup seen count fos_temp.flush(); fos_temp.close(); } } catch (Exception e) { e.printStackTrace(); } } /* * show info box for first time users */ // // ----------- info popup // ----------- info popup // ----------- info popup // ----------- info popup // intro_flag_info = false; if ((!info_popup_seen_count_end) && (startup_status == Navit_Status_NORMAL_STARTUP)) { intro_flag_info = true; } System.out.println("info_popup_seen_count=" + info_popup_seen_count); System.out.println("info_popup_seen_count_end=" + info_popup_seen_count_end + " intro_flag_info=" + intro_flag_info + " startup_status=" + startup_status); // make handler statically available for use in "msg_to_msg_handler" Navit_progress_h = this.progress_handler; // try // { // Navit.bigmap_bitmap = BitmapFactory.decodeResource(getResources(), R.raw.bigmap_colors_zanavi2); // } // catch (Exception e) // { // // when not enough memory is available, then disable large world overview map! // System.gc(); // Navit.bigmap_bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); // } // // ------no----- // Navit.bigmap_bitmap.setDensity(120); // set our dpi!! try { setVolumeControlStream(AudioManager.STREAM_MUSIC); ActivityResults = new NavitActivityResult[16]; } catch (Exception e) { e.printStackTrace(); } try { NavitAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); } catch (Exception e) { e.printStackTrace(); } PowerManager pm = null; try { pm = (PowerManager) getSystemService(Context.POWER_SERVICE); } catch (Exception e) { e.printStackTrace(); } try { // -- // pm.wakeUp(SystemClock.uptimeMillis()); // -- // // **screen always full on** // wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, "NavitDoNotDimScreen"); // **screen can go off, cpu will stay on** // wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, "NavitDoNotDimScreen"); // this works so far, lets the screen dim, but it cpu and screen stays on wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "NavitDoNotDimScreen"); } catch (Exception e) { e.printStackTrace(); wl = null; } try { wl_cpu = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "ZANaviNeedCpu"); } catch (Exception e) { e.printStackTrace(); wl_cpu = null; } try { wl_navigating = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "ZANaviNavigationOn"); } catch (Exception e) { Log.e("Navit", "WakeLock NAV: create failed!!"); e.printStackTrace(); wl_navigating = null; } // try // { // if (wl_navigating != null) // { // wl_navigating.acquire(); // Log.e("Navit", "WakeLock NAV: acquire 00"); // } // } // catch (Exception e) // { // Log.e("Navit", "WakeLock NAV: something wrong 00"); // e.printStackTrace(); // } // try // { // if (wl != null) // { // try // { // wl.release(); // } // catch (Exception e2) // { // } // wl.acquire(); // Log.e("Navit", "WakeLock: acquire 1"); // } // } // catch (Exception e) // { // e.printStackTrace(); // } // -- extract overview maps -- // -- extract overview maps -- // File navit_worldmap2_file = new File(NAVIT_DATA_DIR + "/share/worldmap2.txt"); File navit_worldmap2_file = new File(MAP_FILENAME_PATH + "/worldmap2.txt"); if (!navit_worldmap2_file.exists()) { if (!extractRes("worldmap2", MAP_FILENAME_PATH + "/worldmap2.txt")) { Log.e("Navit", "Failed to extract worldmap2.txt"); } } File navit_worldmap5_file = new File(MAP_FILENAME_PATH + "/worldmap5.txt"); if (!navit_worldmap5_file.exists()) { if (!extractRes("worldmap5", MAP_FILENAME_PATH + "/worldmap5.txt")) { Log.e("Navit", "Failed to extract worldmap5.txt"); } } // -- extract overview maps -- // -- extract overview maps -- Log.e("Navit", "trying to extract language resource " + NavitTextTranslations.main_language + "_" + NavitTextTranslations.sub_language); if (!extractRes(NavitTextTranslations.main_language + "_" + NavitTextTranslations.sub_language, NAVIT_DATA_DIR + "/locale/" + NavitTextTranslations.main_language + "_" + NavitTextTranslations.sub_language + "/LC_MESSAGES/navit.mo")) { Log.e("Navit", "Failed to extract language resource " + NavitTextTranslations.main_language + "_" + NavitTextTranslations.sub_language); } Log.e("Navit", "trying to extract language resource " + NavitTextTranslations.main_language + "_" + NavitTextTranslations.sub_language.toLowerCase()); if (!extractRes( NavitTextTranslations.main_language + "_" + NavitTextTranslations.sub_language.toLowerCase(), NAVIT_DATA_DIR + "/locale/" + NavitTextTranslations.main_language + "_" + NavitTextTranslations.sub_language + "/LC_MESSAGES/navit.mo")) { Log.e("Navit", "Failed to extract language resource " + NavitTextTranslations.main_language + "_" + NavitTextTranslations.sub_language.toLowerCase()); } Log.e("Navit", "trying to extract language resource " + NavitTextTranslations.main_language); if (!extractRes(NavitTextTranslations.main_language, NAVIT_DATA_DIR + "/locale/" + NavitTextTranslations.main_language + "/LC_MESSAGES/navit.mo")) { Log.e("Navit", "Failed to extract language resource " + NavitTextTranslations.main_language); } // DEBUG - check if language file is on SDCARD - try { File debug_mo_src = new File("/sdcard/zanavi/debug/navit.mo"); File debug_mo_dest = new File( NAVIT_DATA_DIR + "/locale/" + NavitTextTranslations.main_language + "/LC_MESSAGES/navit.mo"); //* File navit_debug_dir = new File("/sdcard/zanavi/debug/"); //* navit_debug_dir.mkdirs(); copyFile(debug_mo_src, debug_mo_dest); } catch (Exception e) { e.printStackTrace(); } // DEBUG - check if language file is on SDCARD - File navit_config_xml_file = new File(NAVIT_DATA_SHARE_DIR + "/navit.xml"); if ((!navit_config_xml_file.exists()) || (NAVIT_ALWAYS_UNPACK_XMLFILE)) { xmlconfig_unpack_file = true; Log.e("Navit", "navit.xml does not exist, unpacking in any case"); } my_display_density = "mdpi"; // ldpi display (120 dpi) NavitGraphics.Global_want_dpi = Navit.metrics.densityDpi; NavitGraphics.Global_want_dpi_other = Navit.metrics.densityDpi; if (Navit.metrics.densityDpi <= 120) { my_display_density = "ldpi"; if (xmlconfig_unpack_file) { if (!extractRes("navitldpi", NAVIT_DATA_SHARE_DIR + "/navit.xml")) { Log.e("Navit", "Failed to extract navit.xml for ldpi device(s)"); } } } // mdpi display (160 dpi) else if ((Navit.metrics.densityDpi > 120) && (Navit.metrics.densityDpi <= 160)) { my_display_density = "mdpi"; if (xmlconfig_unpack_file) { if (!extractRes("navitmdpi", NAVIT_DATA_SHARE_DIR + "/navit.xml")) { Log.e("Navit", "Failed to extract navit.xml for mdpi device(s)"); } } } // hdpi display (240 dpi) else if ((Navit.metrics.densityDpi > 160) && (Navit.metrics.densityDpi < 320)) //else if (Navit.metrics.densityDpi == 240) { my_display_density = "hdpi"; if (xmlconfig_unpack_file) { if (!extractRes("navithdpi", NAVIT_DATA_SHARE_DIR + "/navit.xml")) { Log.e("Navit", "Failed to extract navit.xml for hdpi device(s)"); } } } // xhdpi display (320 dpi) else if (Navit.metrics.densityDpi >= 320) { // set the map display DPI down. otherwise everything will be very small and unreadable // and performance will be very low if (p.PREF_shrink_on_high_dpi) { NavitGraphics.Global_want_dpi = NavitGraphics.Global_Scaled_DPI_normal; } NavitGraphics.Global_want_dpi_other = NavitGraphics.Global_Scaled_DPI_normal; Log.e("Navit", "found xhdpi device, this is not fully supported yet"); Log.e("Navit", "using hdpi values for compatibility"); my_display_density = "hdpi"; if (xmlconfig_unpack_file) { if (!extractRes("navithdpi", NAVIT_DATA_SHARE_DIR + "/navit.xml")) { Log.e("Navit", "Failed to extract navit.xml for xhdpi device(s)"); } } } else { /* default, meaning we just dont know what display this is */ if (xmlconfig_unpack_file) { if (!extractRes("navitmdpi", NAVIT_DATA_SHARE_DIR + "/navit.xml")) { Log.e("Navit", "Failed to extract navit.xml (default version)"); } } } // Debug.startMethodTracing("calc"); int have_dpi = Navit.metrics.densityDpi; System.out.println("Global_want_dpi[001]=" + NavitGraphics.Global_want_dpi + ":" + Navit.metrics.densityDpi + ":" + NavitGraphics.Global_dpi_factor + ":" + NavitGraphics.Global_dpi_factor_better); if (NavitGraphics.Global_want_dpi == have_dpi) { NavitGraphics.Global_dpi_factor = 1; NavitGraphics.preview_coord_factor = 1; } else // this was missing??????!!!!!!!!!??????!!!!!! { NavitGraphics.Global_dpi_factor = ((float) NavitGraphics.Global_want_dpi / (float) have_dpi); NavitGraphics.preview_coord_factor = ((float) have_dpi / (float) NavitGraphics.Global_want_dpi); } System.out.println("Global_want_dpi[002]=" + NavitGraphics.Global_dpi_factor + ":" + NavitGraphics.preview_coord_factor); // gggggggggggggggggggggggggg new !!!!!!!!!!!!!!!!!!!! // --> dont use!! NavitMain(this, langu, android.os.Build.VERSION.SDK_INT); Log.e("Navit", "android.os.Build.VERSION.SDK_INT=" + Integer.valueOf(android.os.Build.VERSION.SDK)); // -- report share dir back to C-code -- //Message msg2 = new Message(); //Bundle b2 = new Bundle(); //b2.putInt("Callback", 82); //b2.putString("s", NAVIT_DATA_DIR + "/share/"); //msg2.setData(b2); //N_NavitGraphics.callback_handler.sendMessage(msg2); // -- report share dir back to C-code -- // -- report data dir back to C-code -- //msg2 = new Message(); //b2 = new Bundle(); //b2.putInt("Callback", 84); //b2.putString("s", NAVIT_DATA_DIR + "/"); //msg2.setData(b2); //N_NavitGraphics.callback_handler.sendMessage(msg2); // -- report share dir back to C-code -- draw_osd_thread = new drawOSDThread(); draw_osd_thread.start(); cwthr = new CWorkerThread(); cwthr.start(); // --new-- cwthr.StartMain(this, langu, Integer.valueOf(android.os.Build.VERSION.SDK), "" + Navit.metrics.densityDpi, NAVIT_DATA_DIR, NAVIT_DATA_SHARE_DIR); // --old-- // NavitMain(this, langu, Integer.valueOf(android.os.Build.VERSION.SDK), my_display_density); // --old-- // NavitActivity(3); // CAUTION: don't use android.os.Build.VERSION.SDK_INT if <uses-sdk android:minSdkVersion="3" /> // You will get exception on all devices with Android 1.5 and lower // because Build.VERSION.SDK_INT is since SDK 4 (Donut 1.6) // (see: http://developer.android.com/guide/appendix/api-levels.html) // Platform Version API Level // ============================================= // Android 4.0.3 15 // Android 4.0, 4.0.1, 4.0.2 14 // Android 3.2 13 // Android 3.1 12 // Android 3.0 11 // Android 2.3.3 10 // Android 2.3.1 9 // Android 2.2 8 // Android 2.1 7 // Android 2.0.1 6 // Android 2.0 5 // Android 1.6 4 // Android 1.5 3 // Android 1.1 2 // Android 1.0 1 Navit.mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); //try //{ // Thread.sleep(2000); //} //catch (InterruptedException e) //{ //} //getPrefs(); //activatePrefs(); // unpack some localized Strings // a test now, later we will unpack all needed strings for java, here at this point!! //String x = NavitGraphics.getLocalizedString("Austria"); //Log.e("Navit", "x=" + x); Navit.show_mem_used(); /* * GpsStatus.Listener listener = new GpsStatus.Listener() * { * public void onGpsStatusChanged(int event) * { * //System.out.println("xxxxx"); * if (event == GpsStatus.GPS_EVENT_SATELLITE_STATUS) * { * } * } * }; */ try { Intent sintent = new Intent(); sintent.setPackage("com.zoffcc.applications.zanavi_msg"); sintent.setAction("com.zoffcc.applications.zanavi_msg.ZanaviCloudService"); // ComponentName cname = startService(sintent); // Log.i("NavitPlugin", "start Service res=" + cname); // System.out.println("NavitPlugin:bind to Service"); boolean res_bind = bindService(sintent, serviceConnection, Context.BIND_AUTO_CREATE); // Log.i("NavitPlugin", "bind to Service res=" + res_bind); } catch (Exception e) { e.printStackTrace(); } // ------------- get all the flags for intro pages ------------- // ------------- get all the flags for intro pages ------------- // ------------- get all the flags for intro pages ------------- 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) { } try { intro_flag_nomaps = false; if (!have_maps_installed()) { if ((!NavitMapDownloader.download_active) && (!NavitMapDownloader.download_active_start)) { intro_flag_nomaps = 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; } // ------------- get all the flags for intro pages ------------- // ------------- get all the flags for intro pages ------------- // ------------- get all the flags for intro pages ------------- // -------------- INTRO -------------- // -------------- INTRO -------------- // -------------- INTRO -------------- intro_show_count = 0; // // -------------- INTRO -------------- // // -------------- INTRO -------------- // // -------------- INTRO -------------- // if (Navit.METHOD_DEBUG) Navit.my_func_name(1); }