Always generate device identifier
Этот коммит содержится в:
@@ -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" />
|
||||||
|
|
||||||
|
|||||||
@@ -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));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user