Always generate device identifier

Этот коммит содержится в:
Anton Tananaev
2015-09-03 23:04:02 +12:00
родитель 140a3ebece
Коммит 052320f981
3 изменённых файлов: 9 добавлений и 28 удалений
-1
Просмотреть файл
@@ -6,7 +6,6 @@
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
+8 -26
Просмотреть файл
@@ -52,7 +52,6 @@ public class MainActivity extends PreferenceActivity implements OnSharedPreferen
public static final String KEY_PROVIDER = "provider"; public static final String KEY_PROVIDER = "provider";
public static final String KEY_STATUS = "status"; public static final String KEY_STATUS = "status";
private static final int PERMISSIONS_REQUEST_DEVICE = 1;
private static final int PERMISSIONS_REQUEST_LOCATION = 2; private static final int PERMISSIONS_REQUEST_LOCATION = 2;
private SharedPreferences sharedPreferences; private SharedPreferences sharedPreferences;
@@ -100,16 +99,6 @@ public class MainActivity extends PreferenceActivity implements OnSharedPreferen
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
sharedPreferences.registerOnSharedPreferenceChangeListener(this); sharedPreferences.registerOnSharedPreferenceChangeListener(this);
if (!sharedPreferences.contains(KEY_DEVICE)) {
if (hasPermission(Manifest.permission.READ_PHONE_STATE)) {
initDeviceId(true);
} else {
requestPermissions(new String[] { Manifest.permission.READ_PHONE_STATE }, PERMISSIONS_REQUEST_DEVICE);
}
} else {
findPreference(KEY_DEVICE).setSummary(sharedPreferences.getString(KEY_DEVICE, null));
}
} }
@Override @Override
@@ -160,19 +149,13 @@ public class MainActivity extends PreferenceActivity implements OnSharedPreferen
private void initPreferences() { private void initPreferences() {
PreferenceManager.setDefaultValues(this, R.xml.preferences, false); PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
}
private void initDeviceId(boolean permission) { if (!sharedPreferences.contains(KEY_DEVICE)) {
String id; String id = String.valueOf(new Random().nextInt(900000) + 100000);
if (permission) {
id = ((TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId();
} else {
id = String.valueOf(new Random().nextInt(900000) + 100000);
}
sharedPreferences.edit().putString(KEY_DEVICE, id).commit(); sharedPreferences.edit().putString(KEY_DEVICE, id).commit();
EditTextPreference preference = (EditTextPreference) findPreference(KEY_DEVICE); ((EditTextPreference) findPreference(KEY_DEVICE)).setText(id);
preference.setText(id); }
preference.setSummary(id); findPreference(KEY_DEVICE).setSummary(sharedPreferences.getString(KEY_DEVICE, null));
} }
private void startTrackingService(boolean checkPermission, boolean permission) { private void startTrackingService(boolean checkPermission, boolean permission) {
@@ -214,10 +197,9 @@ public class MainActivity extends PreferenceActivity implements OnSharedPreferen
@Override @Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == PERMISSIONS_REQUEST_DEVICE) { if (requestCode == PERMISSIONS_REQUEST_LOCATION) {
initDeviceId(grantResults[0] == PackageManager.PERMISSION_GRANTED); startTrackingService(false, grantResults[0] == PackageManager.PERMISSION_GRANTED &&
} else if (requestCode == PERMISSIONS_REQUEST_LOCATION) { (permissions.length < 2 || grantResults[1] == PackageManager.PERMISSION_GRANTED));
startTrackingService(false, grantResults[0] == PackageManager.PERMISSION_GRANTED && (permissions.length < 2 || grantResults[1] == PackageManager.PERMISSION_GRANTED));
} }
} }
+1 -1
Просмотреть файл
@@ -41,6 +41,6 @@
<string name="status_connectivity_change">Connectivity change</string> <string name="status_connectivity_change">Connectivity change</string>
<string name="hidden_app_name">Device Settings</string> <string name="hidden_app_name">Device Settings</string>
<string name="hidden_alert">The app has been hidden from the phone launcher. To open it again please dial 8722227 (TRACCAR).</string> <string name="hidden_alert">The app has been hidden. To open it again please dial 8722227 (TRACCAR).</string>
</resources> </resources>