|
@ -1,9 +1,12 @@ |
|
|
package com.nivesh.production.niveshfd.util |
|
|
package com.nivesh.production.niveshfd.util |
|
|
|
|
|
|
|
|
|
|
|
import android.Manifest |
|
|
|
|
|
import android.annotation.SuppressLint |
|
|
import android.app.Activity |
|
|
import android.app.Activity |
|
|
import android.app.AlertDialog |
|
|
import android.app.AlertDialog |
|
|
import android.content.Context |
|
|
import android.content.Context |
|
|
import android.content.Intent |
|
|
import android.content.Intent |
|
|
|
|
|
import android.content.pm.PackageManager |
|
|
import android.graphics.Color |
|
|
import android.graphics.Color |
|
|
import android.graphics.drawable.GradientDrawable |
|
|
import android.graphics.drawable.GradientDrawable |
|
|
import android.net.ConnectivityManager |
|
|
import android.net.ConnectivityManager |
|
@ -11,14 +14,20 @@ import android.net.NetworkCapabilities |
|
|
import android.net.Uri |
|
|
import android.net.Uri |
|
|
import android.os.Build |
|
|
import android.os.Build |
|
|
import android.provider.Settings |
|
|
import android.provider.Settings |
|
|
|
|
|
import android.telephony.TelephonyManager |
|
|
|
|
|
import android.text.TextUtils |
|
|
import android.text.format.DateFormat |
|
|
import android.text.format.DateFormat |
|
|
import android.util.Log |
|
|
import android.util.Log |
|
|
import android.util.Patterns |
|
|
import android.util.Patterns |
|
|
|
|
|
import androidx.core.app.ActivityCompat |
|
|
import com.google.android.material.textfield.MaterialAutoCompleteTextView |
|
|
import com.google.android.material.textfield.MaterialAutoCompleteTextView |
|
|
import com.google.android.material.textfield.TextInputEditText |
|
|
import com.google.android.material.textfield.TextInputEditText |
|
|
import com.google.android.material.textfield.TextInputLayout |
|
|
import com.google.android.material.textfield.TextInputLayout |
|
|
import com.google.gson.JsonObject |
|
|
import com.google.gson.JsonObject |
|
|
import com.nivesh.production.niveshfd.R |
|
|
import com.nivesh.production.niveshfd.R |
|
|
|
|
|
import com.nivesh.production.niveshfd.db.PreferenceManager |
|
|
|
|
|
import com.nivesh.production.niveshfd.interfaces.IPreferenceHelper |
|
|
|
|
|
import com.nivesh.production.niveshfd.model.DeviceInfo |
|
|
import com.nivesh.production.niveshfd.ui.activity.NiveshFdMainActivity |
|
|
import com.nivesh.production.niveshfd.ui.activity.NiveshFdMainActivity |
|
|
import kotlinx.coroutines.CoroutineExceptionHandler |
|
|
import kotlinx.coroutines.CoroutineExceptionHandler |
|
|
import org.json.JSONObject |
|
|
import org.json.JSONObject |
|
@ -274,6 +283,83 @@ class Common { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@SuppressLint("HardwareIds") |
|
|
|
|
|
fun getDeviceInfo(mContext: Context): DeviceInfo { |
|
|
|
|
|
val preferenceHelper: IPreferenceHelper = PreferenceManager(mContext) |
|
|
|
|
|
val deviceInfo = DeviceInfo() |
|
|
|
|
|
var device_id: String? = "" |
|
|
|
|
|
try { |
|
|
|
|
|
val telephonyManager = |
|
|
|
|
|
mContext.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager |
|
|
|
|
|
deviceInfo.device_model = if (TextUtils.isEmpty(Build.DEVICE)) "" else Build.DEVICE |
|
|
|
|
|
deviceInfo.device_os_version = if (TextUtils.isEmpty(Build.VERSION.RELEASE)) "" else Build.VERSION.RELEASE |
|
|
|
|
|
deviceInfo.device_name = if (TextUtils.isEmpty(Build.PRODUCT)) "" else Build.PRODUCT |
|
|
|
|
|
deviceInfo.device_type = "Android" |
|
|
|
|
|
|
|
|
|
|
|
if (device_id == null || device_id.isEmpty() || device_id.equals( |
|
|
|
|
|
"unknown", |
|
|
|
|
|
ignoreCase = true |
|
|
|
|
|
) |
|
|
|
|
|
) { |
|
|
|
|
|
device_id = if (TextUtils.isEmpty(Settings.Secure.getString(mContext.contentResolver, Settings.Secure.ANDROID_ID)) |
|
|
|
|
|
) "" else Settings.Secure.getString( |
|
|
|
|
|
mContext.contentResolver, |
|
|
|
|
|
Settings.Secure.ANDROID_ID |
|
|
|
|
|
) |
|
|
|
|
|
} |
|
|
|
|
|
// deviceInfo.device_id = device_id + "#" + preferenceHelper.getAppName() |
|
|
|
|
|
deviceInfo.device_id_for_UMSId = device_id |
|
|
|
|
|
// deviceInfo.sdk_version = com.nivesh.production.BuildConfig.VERSION_NAME |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (ActivityCompat.checkSelfPermission( |
|
|
|
|
|
mContext, |
|
|
|
|
|
Manifest.permission.READ_PHONE_STATE |
|
|
|
|
|
) != PackageManager.PERMISSION_GRANTED |
|
|
|
|
|
) { |
|
|
|
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { |
|
|
|
|
|
device_id = telephonyManager.imei |
|
|
|
|
|
if (device_id == null) { |
|
|
|
|
|
device_id = |
|
|
|
|
|
if (TextUtils.isEmpty(Build.getSerial())) "" else Build.getSerial() |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
device_id = telephonyManager.deviceId |
|
|
|
|
|
if (device_id == null) { |
|
|
|
|
|
device_id = |
|
|
|
|
|
if (TextUtils.isEmpty(Build.SERIAL)) "" else Build.SERIAL |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
device_id = telephonyManager.deviceId |
|
|
|
|
|
if (device_id == null) { |
|
|
|
|
|
device_id = if (TextUtils.isEmpty(Build.SERIAL)) "" else Build.SERIAL |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} catch (e: Exception) { |
|
|
|
|
|
e.printStackTrace() |
|
|
|
|
|
if (device_id == null || device_id.isEmpty() || device_id.equals( |
|
|
|
|
|
"unknown", |
|
|
|
|
|
ignoreCase = true |
|
|
|
|
|
) |
|
|
|
|
|
) { |
|
|
|
|
|
device_id = if (TextUtils.isEmpty( |
|
|
|
|
|
Settings.Secure.getString( |
|
|
|
|
|
mContext.contentResolver, |
|
|
|
|
|
Settings.Secure.ANDROID_ID |
|
|
|
|
|
) |
|
|
|
|
|
) |
|
|
|
|
|
) "" else Settings.Secure.getString( |
|
|
|
|
|
mContext.contentResolver, |
|
|
|
|
|
Settings.Secure.ANDROID_ID |
|
|
|
|
|
) |
|
|
|
|
|
} |
|
|
|
|
|
// deviceInfo.deviceId = device_id + "#" + preferenceHelper.getAppName() |
|
|
|
|
|
deviceInfo.device_id_for_UMSId = device_id |
|
|
|
|
|
} |
|
|
|
|
|
return deviceInfo |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |