Skip to content

Commit

Permalink
Remove compare signature
Browse files Browse the repository at this point in the history
  • Loading branch information
peyman-mohtashami committed Jun 18, 2021
1 parent a4ee4b0 commit 767ab17
Show file tree
Hide file tree
Showing 14 changed files with 42 additions and 138 deletions.
6 changes: 3 additions & 3 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ android {
applicationId 'org.radarcns.detail'
minSdkVersion 21
targetSdkVersion 30
versionCode 51
versionName '1.0.12'
versionCode 52
versionName '1.0.13'
manifestPlaceholders = ['appAuthRedirectScheme': 'org.radarbase.passive.app']
multiDexEnabled true
}
Expand Down Expand Up @@ -90,7 +90,7 @@ dependencies {
implementation "org.radarbase:radar-android-phone:$radarCommonsVersion"
implementation "org.radarbase:radar-android-phone-usage:$radarCommonsVersion"
selfReleaseImplementation "org.radarbase:radar-android-phone-telephony:$radarCommonsVersion"
// implementation "org.radarbase:radar-android-empatica:$radarCommonsVersion"
implementation "org.radarbase:radar-android-empatica:$radarCommonsVersion"
implementation "org.radarbase:radar-android-application-status:$radarCommonsVersion"
implementation "org.radarbase:radar-android-weather:$radarCommonsVersion"
implementation "org.radarbase:radar-android-audio:$radarCommonsVersion"
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />-->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

<supports-screens android:largeScreens="true"
Expand Down
3 changes: 0 additions & 3 deletions app/src/main/java/org/radarcns/detail/InfoActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
import com.google.android.gms.oss.licenses.OssLicensesMenuActivity
import org.radarbase.android.RadarApplication.Companion.radarConfig
//import org.radarbase.android.RadarConfiguration
import org.radarbase.android.RadarConfiguration.Companion.BASE_URL_KEY

class InfoActivity : AppCompatActivity() {
Expand All @@ -25,8 +24,6 @@ class InfoActivity : AppCompatActivity() {

radarConfig.config.observe(this, { config ->

// println("%%%" + config.getBoolean(RadarConfiguration.SEND_ONLY_WITH_WIFI, false))

findViewById<TextView>(R.id.server_base_url).text = config.getString(BASE_URL_KEY, "")

policyUrl = config.optString(PRIVACY_POLICY)
Expand Down
3 changes: 0 additions & 3 deletions app/src/main/java/org/radarcns/detail/MainActivityViewImpl.kt
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ import org.slf4j.LoggerFactory
import java.text.SimpleDateFormat
import java.util.*


class MainActivityViewImpl internal constructor(private val mainActivity: MainActivityImpl) : MainActivityView {
private val connectionRows = ChangeRunner<List<SourceProvider<*>>>(emptyList())
private val actionsCells = ChangeRunner<List<SourceProvider.Action>>(emptyList())
Expand Down Expand Up @@ -88,8 +87,6 @@ class MainActivityViewImpl internal constructor(private val mainActivity: MainAc
mActionLayout = findViewById(R.id.actionLayout)
this@MainActivityViewImpl.update()
}


}

override fun onRadarServiceBound(binder: IRadarBinder) {
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@
<!-- Auto update -->
<!-- <string name="update_notification_title">Auto Update App</string>-->
<string name="update_notification_content">New version is available.\nClick to download.</string>
<string name="notification_update_channel_id">com.example.autoupdatetest1</string>
<!-- <string name="notification_update_channel_id">com.example.autoupdatetest1</string>-->
<!-- <string name="notification_update_channel_name">auto_update_test</string>-->
<string name="action_favorite">Favorites</string>
<string name="action_settings">Settings</string>
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/res/xml/remote_config_defaults.xml
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,8 @@
<value>600</value>
</entry>
<entry>
<key>releases_url</key>
<value>https://api.github.com/repos/peyman-mohtashami/auto-update-test/releases</value>
<key>update_releases_url</key>
<value>https://api.github.com/repos/RADAR-base/radar-prmt-android/releases</value>
</entry>
</defaultsMap>
<!-- END xml_defaults -->
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import org.radarbase.android.source.SourceProvider
import org.radarbase.monitor.application.ApplicationStatusProvider
import org.radarbase.passive.audio.OpenSmileAudioProvider
import org.radarbase.passive.bittium.FarosProvider
//import org.radarbase.passive.empatica.E4Provider
import org.radarbase.passive.empatica.E4Provider
import org.radarbase.passive.phone.PhoneBluetoothProvider
import org.radarbase.passive.phone.PhoneContactListProvider
import org.radarbase.passive.phone.PhoneLocationProvider
Expand All @@ -41,7 +41,7 @@ class RadarServiceImpl : RadarService() {
override val plugins: List<SourceProvider<*>> = listOf(
ApplicationStatusProvider(this),
OpenSmileAudioProvider(this),
// E4Provider(this),
E4Provider(this),
FarosProvider(this),
PhoneBluetoothProvider(this),
PhoneContactListProvider(this),
Expand Down
54 changes: 0 additions & 54 deletions app/src/selfRelease/java/org/radarcns/detail/CompareSignatures.kt

This file was deleted.

10 changes: 7 additions & 3 deletions app/src/selfRelease/java/org/radarcns/detail/CompareVersions.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,13 @@ import org.radarcns.detail.UpdateScheduledService.Companion.UPDATE_VERSION_URL_K
fun getUpdatePackage(context: Context, response: String): JSONObject? {
val updatePackage = getUpdatePackageVersionAndUrl(response)
val currentPackageVersion = getInstalledPackageVersion(context)
if (currentPackageVersion != updatePackage?.get(UPDATE_VERSION_NAME_KEY)) {

val pattern = Regex("\\d+(\\.\\d+)+")

val rawCurrentPackageVersion = currentPackageVersion?.let { pattern.find(it)?.value }
val rawUpdatePackageVersion = updatePackage?.getString(UPDATE_VERSION_NAME_KEY)?.let { pattern.find(it)?.value }

if (rawCurrentPackageVersion != rawUpdatePackageVersion) {
return updatePackage
}
return null
Expand All @@ -33,9 +39,7 @@ fun getUpdatePackageVersionAndUrl(response: String): JSONObject? {
val responseObject = Json.parseToJsonElement(response)
if (responseObject.jsonArray.size > 0) {
val latestRelease = responseObject.jsonArray[0]
// todo
val tagName = latestRelease.jsonObject["tag_name"]?.toString()?.replace("\"", "")
// todo
val browserDownloadUrl = latestRelease.jsonObject["assets"]?.jsonArray?.get(0)?.jsonObject?.getValue("browser_download_url").toString().replace("\"", "")
val updateApk = JSONObject()
updateApk.put(UPDATE_VERSION_URL_KEY, browserDownloadUrl)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ class OneTimeScheduleWorker(

val intent = Intent(context, UpdatesActivity::class.java).apply {
flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
putExtra(FROM_NOTIFICATION_KEY, true)
putExtra(UPDATE_VERSION_NAME_KEY, versionName)
putExtra(UPDATE_VERSION_URL_KEY, url)
}
intent.putExtra(FROM_NOTIFICATION_KEY, true)
intent.putExtra(UPDATE_VERSION_NAME_KEY, versionName)
intent.putExtra(UPDATE_VERSION_URL_KEY, url)

val uniqueInt = (System.currentTimeMillis() and 0xfffffff).toInt()
val pendingIntent = PendingIntent.getActivity(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import org.radarbase.android.source.SourceProvider
import org.radarbase.monitor.application.ApplicationStatusProvider
import org.radarbase.passive.audio.OpenSmileAudioProvider
import org.radarbase.passive.bittium.FarosProvider
//import org.radarbase.passive.empatica.E4Provider
import org.radarbase.passive.empatica.E4Provider
import org.radarbase.passive.phone.PhoneBluetoothProvider
import org.radarbase.passive.phone.PhoneContactListProvider
import org.radarbase.passive.phone.PhoneLocationProvider
Expand All @@ -43,7 +43,7 @@ class RadarServiceImpl : RadarService() {
override val plugins: List<SourceProvider<*>> = listOf(
ApplicationStatusProvider(this),
OpenSmileAudioProvider(this),
// E4Provider(this),
E4Provider(this),
FarosProvider(this),
PhoneBluetoothProvider(this),
PhoneContactListProvider(this),
Expand All @@ -69,7 +69,6 @@ class RadarServiceImpl : RadarService() {
override fun doConfigure(config: SingleRadarConfiguration) {
super.doConfigure(config)
configureRunAtBoot(config, MainActivityBootStarter::class.java)
val i = Intent(this, UpdateScheduledService::class.java)
startService(i)
startService(Intent(this, UpdateScheduledService::class.java))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,14 @@ import org.radarbase.android.RadarApplication.Companion.radarConfig
import org.radarcns.detail.UpdatesActivity.Companion.DAY
import org.radarcns.detail.UpdatesActivity.Companion.UPDATE_CHECK_PERIOD_KEY
import org.radarcns.detail.UpdatesActivity.Companion.UPDATE_RELEASES_URL_KEY
import org.radarcns.detail.UpdatesActivity.Companion.UPDATE_RELEASE_URL

class UpdateScheduledService: LifecycleService() {
private var timerStarted: Boolean = false
private var timer: Timer = Timer()

private var updateNotificationConfig = true
private var updateCheckPeriod: Long = DAY
private var releasesUrl: String = ""
private var releasesUrl: String? = null

override fun onRebind(intent: Intent?) {
super.onRebind(intent)
Expand All @@ -37,7 +36,7 @@ class UpdateScheduledService: LifecycleService() {

radarConfig.config.observe(this, { config ->
updateCheckPeriod = config.getLong(UPDATE_CHECK_PERIOD_KEY, DAY)
releasesUrl = config.getString(UPDATE_RELEASES_URL_KEY, UPDATE_RELEASE_URL)
releasesUrl = config.getString(UPDATE_RELEASES_URL_KEY)

if (timerStarted) {
timer.cancel()
Expand Down Expand Up @@ -69,7 +68,7 @@ class UpdateScheduledService: LifecycleService() {
val stringRequest = StringRequest(
Request.Method.GET, url,
{ response ->
val updatePackage = getUpdatePackage(this@UpdateScheduledService, response, packageName)
val updatePackage = getUpdatePackage(this@UpdateScheduledService, response)
if (updatePackage != null && updateNotificationConfig) {
scheduleOneTimeNotification(0, updatePackage)
}
Expand Down
27 changes: 12 additions & 15 deletions app/src/selfRelease/java/org/radarcns/detail/UpdatesActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import java.io.File

class UpdatesActivity : AppCompatActivity(), TaskDelegate {
private lateinit var config: RadarConfiguration
private var releasesUrl: String = ""
private var releasesUrl: String? = null

private lateinit var currentVersion: TextView
private lateinit var updateStatus: TextView
Expand All @@ -43,7 +43,6 @@ class UpdatesActivity : AppCompatActivity(), TaskDelegate {
private lateinit var progressBarPercent: TextView

private lateinit var newVersionApkUrl: String
private var firstTime = true

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand All @@ -59,9 +58,9 @@ class UpdatesActivity : AppCompatActivity(), TaskDelegate {
config = radarConfig

config.config.observe(this, { config ->
releasesUrl = config.getString(UPDATE_RELEASES_URL_KEY, UPDATE_RELEASE_URL)
if(firstTime) {
firstTime = false
val newReleaseUrl = config.getString(UPDATE_RELEASES_URL_KEY)
if( releasesUrl != newReleaseUrl ) {
releasesUrl = newReleaseUrl
checkForUpdates()
}
})
Expand Down Expand Up @@ -114,7 +113,7 @@ class UpdatesActivity : AppCompatActivity(), TaskDelegate {
}

private fun setCurrentVersion() {
currentVersion.text = getString(R.string.currentVersion, getInstalledPackageVersion(this, packageName))
currentVersion.text = getString(R.string.currentVersion, getInstalledPackageVersion(this))
}

private fun checkForUpdates() {
Expand All @@ -126,7 +125,7 @@ class UpdatesActivity : AppCompatActivity(), TaskDelegate {
config.put(LAST_UPDATE_CHECK_TIMESTAMP, System.currentTimeMillis())
config.persistChanges()

val updatePackage = getUpdatePackage(this, response, packageName)
val updatePackage = getUpdatePackage(this, response)
if (updatePackage != null) {
val updateStatus: TextView = findViewById(R.id.update_status)
newVersionApkUrl = updatePackage.get(UPDATE_VERSION_URL_KEY) as String
Expand All @@ -135,15 +134,16 @@ class UpdatesActivity : AppCompatActivity(), TaskDelegate {
getString(R.string.app_name),
updatePackage.get(UPDATE_VERSION_NAME_KEY)
)
updateLinearLayout.visibility = View.VISIBLE
} else {
val updateStatus: TextView = findViewById(R.id.update_status)
updateStatus.text = getString(
R.string.new_version_not_available, getString(
R.string.app_name
)
)
updateLinearLayout.visibility = View.GONE
}
updateLinearLayout.visibility = View.VISIBLE
},
{
Log.v("ScheduleService", "Error")
Expand All @@ -164,9 +164,7 @@ class UpdatesActivity : AppCompatActivity(), TaskDelegate {
val fileName = DOWNLOADED_FILE
val fileLocation = File(filesDir, fileName)

val isPackageNameSame = isPackageNameSame(this, packageName, fileLocation.absolutePath)
val isSignatureSame = isSignatureSame(this, "org.radarcns.detail", fileLocation.absolutePath)
return isSignatureSame && isPackageNameSame
return isPackageNameSame(this, fileLocation.absolutePath)
}

private fun install() {
Expand Down Expand Up @@ -202,12 +200,11 @@ class UpdatesActivity : AppCompatActivity(), TaskDelegate {
companion object {
private const val MIME_TYPE = "application/vnd.android.package-archive"
private const val PROVIDER_PATH = ".provider"
private const val HOUR = 15 * 1000L // 60 * 60 * 1000L
const val DAY = 2 * HOUR // 24 * HOUR
const val WEEK = 2 * DAY // 7 * DAY
private const val HOUR = 60 * 60 * 1000L
const val DAY = 24 * HOUR
const val WEEK = 7 * DAY
const val UPDATE_RELEASES_URL_KEY = "update_releases_url"
const val UPDATE_CHECK_PERIOD_KEY = "update_check_period"
const val UPDATE_RELEASE_URL = "https://api.github.com/repos/peyman-mohtashami/auto-update-test/releases"
}
}

Loading

0 comments on commit 767ab17

Please sign in to comment.