Loading app/src/main/java/io/eelo/appinstaller/application/ApplicationActivity.kt +2 −2 Original line number Diff line number Diff line Loading @@ -419,7 +419,7 @@ class ApplicationActivity : AppCompatActivity(), ApplicationStateListener, Snackbar.LENGTH_LONG).show() return } application.buttonClicked(this) application.buttonClicked(this, this) } @SuppressLint("SetTextI18n") Loading Loading @@ -542,7 +542,7 @@ class ApplicationActivity : AppCompatActivity(), ApplicationStateListener, override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) { if (requestCode == Constants.STORAGE_PERMISSION_REQUEST_CODE) { if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) { application.buttonClicked(this) application.buttonClicked(this, this) } else if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_DENIED) { Snackbar.make(container, R.string.error_storage_permission_denied, Snackbar.LENGTH_LONG).show() Loading app/src/main/java/io/eelo/appinstaller/application/ApplicationViewHolder.kt +1 −1 Original line number Diff line number Diff line Loading @@ -47,7 +47,7 @@ class ApplicationViewHolder(private val activity: Activity, private val view: Vi Error.APK_UNAVAILABLE.description), Snackbar.LENGTH_LONG).show() } else { application?.buttonClicked(activity) application?.buttonClicked(activity, activity) } } } Loading app/src/main/java/io/eelo/appinstaller/application/SmallApplicationViewHolder.kt +1 −1 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ class SmallApplicationViewHolder(private val activity: Activity, private val vie Error.APK_UNAVAILABLE.description), Snackbar.LENGTH_LONG).show() } else { application?.buttonClicked(activity) application?.buttonClicked(activity, activity) } } } Loading app/src/main/java/io/eelo/appinstaller/application/model/Application.kt +10 −6 Original line number Diff line number Diff line Loading @@ -55,24 +55,28 @@ class Application(val packageName: String, private val applicationManager: Appli } @Synchronized fun buttonClicked(activity: Activity) { fun buttonClicked(context: Context, activity: Activity?) { when (stateManager.state) { INSTALLED -> info.launch(activity) INSTALLED -> info.launch(context) NOT_UPDATED, NOT_DOWNLOADED -> { if (activity != null) { if (canWriteStorage(activity)) { applicationManager.install(activity, this) applicationManager.install(context, this) } } else { applicationManager.install(context, this) } } INSTALLING -> { if (downloader != null) { downloader?.cancelDownload() } else { onDownloadComplete(activity, DownloadManager.STATUS_FAILED) onDownloadComplete(context, DownloadManager.STATUS_FAILED) } return } } checkForStateUpdate(activity) checkForStateUpdate(context) } private fun canWriteStorage(activity: Activity): Boolean { Loading app/src/main/java/io/eelo/appinstaller/updates/UpdatesFragment.kt +1 −2 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ import io.eelo.appinstaller.application.model.State import io.eelo.appinstaller.applicationmanager.ApplicationManager import io.eelo.appinstaller.common.ApplicationListAdapter import io.eelo.appinstaller.updates.viewModel.UpdatesViewModel import io.eelo.appinstaller.utils.Common class UpdatesFragment : Fragment() { private lateinit var updatesViewModel: UpdatesViewModel Loading Loading @@ -53,7 +52,7 @@ class UpdatesFragment : Fragment() { updateAll.setOnClickListener { applicationList.forEach { application -> if (application.state == State.NOT_UPDATED) { application.buttonClicked(activity!!) application.buttonClicked(context!!, activity!!) } } } Loading Loading
app/src/main/java/io/eelo/appinstaller/application/ApplicationActivity.kt +2 −2 Original line number Diff line number Diff line Loading @@ -419,7 +419,7 @@ class ApplicationActivity : AppCompatActivity(), ApplicationStateListener, Snackbar.LENGTH_LONG).show() return } application.buttonClicked(this) application.buttonClicked(this, this) } @SuppressLint("SetTextI18n") Loading Loading @@ -542,7 +542,7 @@ class ApplicationActivity : AppCompatActivity(), ApplicationStateListener, override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) { if (requestCode == Constants.STORAGE_PERMISSION_REQUEST_CODE) { if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) { application.buttonClicked(this) application.buttonClicked(this, this) } else if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_DENIED) { Snackbar.make(container, R.string.error_storage_permission_denied, Snackbar.LENGTH_LONG).show() Loading
app/src/main/java/io/eelo/appinstaller/application/ApplicationViewHolder.kt +1 −1 Original line number Diff line number Diff line Loading @@ -47,7 +47,7 @@ class ApplicationViewHolder(private val activity: Activity, private val view: Vi Error.APK_UNAVAILABLE.description), Snackbar.LENGTH_LONG).show() } else { application?.buttonClicked(activity) application?.buttonClicked(activity, activity) } } } Loading
app/src/main/java/io/eelo/appinstaller/application/SmallApplicationViewHolder.kt +1 −1 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ class SmallApplicationViewHolder(private val activity: Activity, private val vie Error.APK_UNAVAILABLE.description), Snackbar.LENGTH_LONG).show() } else { application?.buttonClicked(activity) application?.buttonClicked(activity, activity) } } } Loading
app/src/main/java/io/eelo/appinstaller/application/model/Application.kt +10 −6 Original line number Diff line number Diff line Loading @@ -55,24 +55,28 @@ class Application(val packageName: String, private val applicationManager: Appli } @Synchronized fun buttonClicked(activity: Activity) { fun buttonClicked(context: Context, activity: Activity?) { when (stateManager.state) { INSTALLED -> info.launch(activity) INSTALLED -> info.launch(context) NOT_UPDATED, NOT_DOWNLOADED -> { if (activity != null) { if (canWriteStorage(activity)) { applicationManager.install(activity, this) applicationManager.install(context, this) } } else { applicationManager.install(context, this) } } INSTALLING -> { if (downloader != null) { downloader?.cancelDownload() } else { onDownloadComplete(activity, DownloadManager.STATUS_FAILED) onDownloadComplete(context, DownloadManager.STATUS_FAILED) } return } } checkForStateUpdate(activity) checkForStateUpdate(context) } private fun canWriteStorage(activity: Activity): Boolean { Loading
app/src/main/java/io/eelo/appinstaller/updates/UpdatesFragment.kt +1 −2 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ import io.eelo.appinstaller.application.model.State import io.eelo.appinstaller.applicationmanager.ApplicationManager import io.eelo.appinstaller.common.ApplicationListAdapter import io.eelo.appinstaller.updates.viewModel.UpdatesViewModel import io.eelo.appinstaller.utils.Common class UpdatesFragment : Fragment() { private lateinit var updatesViewModel: UpdatesViewModel Loading Loading @@ -53,7 +52,7 @@ class UpdatesFragment : Fragment() { updateAll.setOnClickListener { applicationList.forEach { application -> if (application.state == State.NOT_UPDATED) { application.buttonClicked(activity!!) application.buttonClicked(context!!, activity!!) } } } Loading