Loading app/src/main/AndroidManifest.xml +9 −9 Original line number Original line Diff line number Diff line Loading @@ -20,13 +20,13 @@ <application <application android:allowBackup="true" android:allowBackup="true" android:alwaysRetainTaskState="true" android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher" android:supportsRtl="true" android:largeHeap="true" android:largeHeap="true" android:launchMode="singleInstance" android:launchMode="singleInstance" android:alwaysRetainTaskState="true" android:roundIcon="@mipmap/ic_launcher" android:supportsRtl="true" android:theme="@style/AppTheme"> android:theme="@style/AppTheme"> <!-- <activity android:name=".application.PwaInstaller"/>--> <!-- <activity android:name=".application.PwaInstaller"/>--> <activity android:name=".settings.AppRequestActivity" /> <activity android:name=".settings.AppRequestActivity" /> Loading @@ -39,7 +39,7 @@ </activity> </activity> <activity android:name=".application.ApplicationActivity" /> <activity android:name=".application.ApplicationActivity" /> <activity android:name=".categories.category.CategoryActivity" /> <activity android:name=".categories.category.CategoryActivity" /> <activity android:name=".systemapps.SystemAppCategoryActivity" /> <service <service android:name=".applicationmanager.ApplicationManagerService" android:name=".applicationmanager.ApplicationManagerService" Loading @@ -48,7 +48,7 @@ <provider <provider android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider" android:authorities="foundation.e.apps.provider" android:authorities="${applicationId}.provider" android:exported="false" android:exported="false" android:grantUriPermissions="true"> android:grantUriPermissions="true"> <meta-data <meta-data Loading @@ -67,8 +67,8 @@ android:name=".XAPK.InstallSplitApksActivity" android:name=".XAPK.InstallSplitApksActivity" android:configChanges="screenSize|orientation|keyboardHidden" android:configChanges="screenSize|orientation|keyboardHidden" android:launchMode="singleInstance" android:launchMode="singleInstance" android:windowSoftInputMode="adjustResize" android:theme="@style/AppTheme1" android:theme="@style/AppTheme1"/> android:windowSoftInputMode="adjustResize" /> </application> </application> </manifest> </manifest> No newline at end of file app/src/main/java/foundation/e/apps/XAPK/InstallSplitApksActivity.kt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -68,7 +68,7 @@ class InstallSplitApksActivity : BaseActivity() { intent.putExtra("packageName", apksBean!!.packageName) intent.putExtra("packageName", apksBean!!.packageName) val pendingIntent = PendingIntent.getActivity(mActivity, 0, intent, 0) val pendingIntent = PendingIntent.getActivity(mActivity, 0, intent, 0) val statusReceiver = pendingIntent.intentSender val statusReceiver = pendingIntent.intentSender // Commit the session (this will start the installation workflow). // foundation.e.apps.application.model.release.Commit the session (this will start the installation workflow). session!!.commit(statusReceiver) session!!.commit(statusReceiver) finish() finish() } catch (e: IOException) { } catch (e: IOException) { Loading app/src/main/java/foundation/e/apps/api/ListApplicationsRequest.kt +1 −2 Original line number Original line Diff line number Diff line Loading @@ -23,6 +23,7 @@ import com.fasterxml.jackson.annotation.JsonProperty import foundation.e.apps.MainActivity.Companion.mActivity import foundation.e.apps.MainActivity.Companion.mActivity import foundation.e.apps.application.model.Application import foundation.e.apps.application.model.Application import foundation.e.apps.application.model.data.BasicData import foundation.e.apps.application.model.data.BasicData import foundation.e.apps.application.model.release.ReleaseData import foundation.e.apps.applicationmanager.ApplicationManager import foundation.e.apps.applicationmanager.ApplicationManager import foundation.e.apps.utils.ApplicationParser import foundation.e.apps.utils.ApplicationParser import foundation.e.apps.utils.Common import foundation.e.apps.utils.Common Loading Loading @@ -59,6 +60,4 @@ class ListApplicationsRequest(private val category: String, private val page: In } } } } } } app/src/main/java/foundation/e/apps/api/ListPwasRequest.kt +0 −1 Original line number Original line Diff line number Diff line Loading @@ -26,7 +26,6 @@ class ListPwasRequest(private val category: String, private val page: Int, priva urlConnection.disconnect() urlConnection.disconnect() callback.invoke(null, result) callback.invoke(null, result) } catch (e: Exception) { } catch (e: Exception) { callback.invoke(Error.findError(e), null) callback.invoke(Error.findError(e), null) } } Loading app/src/main/java/foundation/e/apps/api/MicroGDataRequest.kt 0 → 100644 +97 −0 Original line number Original line Diff line number Diff line /* Copyright (C) 2019 e Foundation This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. */ package foundation.e.apps.api import android.content.Context import android.util.Log import android.view.View import com.android.volley.Request import com.android.volley.Response import com.android.volley.toolbox.StringRequest import com.android.volley.toolbox.Volley import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty import com.google.gson.Gson import com.google.gson.JsonParser import foundation.e.apps.MainActivity.Companion.mActivity import foundation.e.apps.application.model.Application import foundation.e.apps.application.model.data.BasicData import foundation.e.apps.application.model.release.ReleaseData import foundation.e.apps.applicationmanager.ApplicationManager import foundation.e.apps.utils.ApplicationParser import foundation.e.apps.utils.Common import foundation.e.apps.utils.Constants import foundation.e.apps.utils.Error import kotlinx.android.synthetic.main.activity_category.* import java.io.BufferedReader import java.io.InputStreamReader import java.net.URLEncoder class MicroGDataRequest { companion object { private val reader = Common.getObjectMapper().readerFor(MicroGDataRequest::class.java) } fun requestGmsCoreRelease(callback: (Error?, MicroGDataRequest?) -> Unit) { try { val url = Constants.GMS_RELEASE_API val urlConnection = Common.createConnection(url, Constants.REQUEST_METHOD_GET) val isr = InputStreamReader(urlConnection.inputStream) val element = JsonParser().parse(isr) val releaseList: List<ReleaseData> = Gson().fromJson(element.toString(), Array<ReleaseData>::class.java).toList() val basicData = BasicData( id = "1", name = "MicroG", packageName = Constants.MICROG_PACKAGE, lastVersionNumber = releaseList[0].tag_name, lastVersionCode = 0, latestDownloadableUpdate = "", armeabi_latestDownloadableUpdate = "", arm64_v8a_latest_latestDownloadableUpdate = "", x86_latestDownloadableUpdate = "", armeabi_v7a_latestDownloadableUpdate = "", apkArchitecture = ArrayList(), author = "e-Foundation", iconUri = "https://gitlab.e.foundation/uploads/-/system/project/avatar/149/ic_core_service_app.png?width=64", imagesUri = arrayOf(), privacyRating = 0f, ratings = BasicData.Ratings(0f, 0f), category = "System Apps", is_pwa = false, x86_64_latestDownloadableUpdate = "" ) urlConnection.disconnect() callback.invoke(null, MicroGDataRequest(basicData)) } catch (e: Exception) { callback.invoke(Error.findError(e), null) } } class MicroGDataRequest(private val data: BasicData) { fun getApplications(applicationManager: ApplicationManager, context: Context): ArrayList<Application> { return ApplicationParser.parseSystemAppData(applicationManager, context, data) } } } Loading
app/src/main/AndroidManifest.xml +9 −9 Original line number Original line Diff line number Diff line Loading @@ -20,13 +20,13 @@ <application <application android:allowBackup="true" android:allowBackup="true" android:alwaysRetainTaskState="true" android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher" android:supportsRtl="true" android:largeHeap="true" android:largeHeap="true" android:launchMode="singleInstance" android:launchMode="singleInstance" android:alwaysRetainTaskState="true" android:roundIcon="@mipmap/ic_launcher" android:supportsRtl="true" android:theme="@style/AppTheme"> android:theme="@style/AppTheme"> <!-- <activity android:name=".application.PwaInstaller"/>--> <!-- <activity android:name=".application.PwaInstaller"/>--> <activity android:name=".settings.AppRequestActivity" /> <activity android:name=".settings.AppRequestActivity" /> Loading @@ -39,7 +39,7 @@ </activity> </activity> <activity android:name=".application.ApplicationActivity" /> <activity android:name=".application.ApplicationActivity" /> <activity android:name=".categories.category.CategoryActivity" /> <activity android:name=".categories.category.CategoryActivity" /> <activity android:name=".systemapps.SystemAppCategoryActivity" /> <service <service android:name=".applicationmanager.ApplicationManagerService" android:name=".applicationmanager.ApplicationManagerService" Loading @@ -48,7 +48,7 @@ <provider <provider android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider" android:authorities="foundation.e.apps.provider" android:authorities="${applicationId}.provider" android:exported="false" android:exported="false" android:grantUriPermissions="true"> android:grantUriPermissions="true"> <meta-data <meta-data Loading @@ -67,8 +67,8 @@ android:name=".XAPK.InstallSplitApksActivity" android:name=".XAPK.InstallSplitApksActivity" android:configChanges="screenSize|orientation|keyboardHidden" android:configChanges="screenSize|orientation|keyboardHidden" android:launchMode="singleInstance" android:launchMode="singleInstance" android:windowSoftInputMode="adjustResize" android:theme="@style/AppTheme1" android:theme="@style/AppTheme1"/> android:windowSoftInputMode="adjustResize" /> </application> </application> </manifest> </manifest> No newline at end of file
app/src/main/java/foundation/e/apps/XAPK/InstallSplitApksActivity.kt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -68,7 +68,7 @@ class InstallSplitApksActivity : BaseActivity() { intent.putExtra("packageName", apksBean!!.packageName) intent.putExtra("packageName", apksBean!!.packageName) val pendingIntent = PendingIntent.getActivity(mActivity, 0, intent, 0) val pendingIntent = PendingIntent.getActivity(mActivity, 0, intent, 0) val statusReceiver = pendingIntent.intentSender val statusReceiver = pendingIntent.intentSender // Commit the session (this will start the installation workflow). // foundation.e.apps.application.model.release.Commit the session (this will start the installation workflow). session!!.commit(statusReceiver) session!!.commit(statusReceiver) finish() finish() } catch (e: IOException) { } catch (e: IOException) { Loading
app/src/main/java/foundation/e/apps/api/ListApplicationsRequest.kt +1 −2 Original line number Original line Diff line number Diff line Loading @@ -23,6 +23,7 @@ import com.fasterxml.jackson.annotation.JsonProperty import foundation.e.apps.MainActivity.Companion.mActivity import foundation.e.apps.MainActivity.Companion.mActivity import foundation.e.apps.application.model.Application import foundation.e.apps.application.model.Application import foundation.e.apps.application.model.data.BasicData import foundation.e.apps.application.model.data.BasicData import foundation.e.apps.application.model.release.ReleaseData import foundation.e.apps.applicationmanager.ApplicationManager import foundation.e.apps.applicationmanager.ApplicationManager import foundation.e.apps.utils.ApplicationParser import foundation.e.apps.utils.ApplicationParser import foundation.e.apps.utils.Common import foundation.e.apps.utils.Common Loading Loading @@ -59,6 +60,4 @@ class ListApplicationsRequest(private val category: String, private val page: In } } } } } }
app/src/main/java/foundation/e/apps/api/ListPwasRequest.kt +0 −1 Original line number Original line Diff line number Diff line Loading @@ -26,7 +26,6 @@ class ListPwasRequest(private val category: String, private val page: Int, priva urlConnection.disconnect() urlConnection.disconnect() callback.invoke(null, result) callback.invoke(null, result) } catch (e: Exception) { } catch (e: Exception) { callback.invoke(Error.findError(e), null) callback.invoke(Error.findError(e), null) } } Loading
app/src/main/java/foundation/e/apps/api/MicroGDataRequest.kt 0 → 100644 +97 −0 Original line number Original line Diff line number Diff line /* Copyright (C) 2019 e Foundation This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. */ package foundation.e.apps.api import android.content.Context import android.util.Log import android.view.View import com.android.volley.Request import com.android.volley.Response import com.android.volley.toolbox.StringRequest import com.android.volley.toolbox.Volley import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty import com.google.gson.Gson import com.google.gson.JsonParser import foundation.e.apps.MainActivity.Companion.mActivity import foundation.e.apps.application.model.Application import foundation.e.apps.application.model.data.BasicData import foundation.e.apps.application.model.release.ReleaseData import foundation.e.apps.applicationmanager.ApplicationManager import foundation.e.apps.utils.ApplicationParser import foundation.e.apps.utils.Common import foundation.e.apps.utils.Constants import foundation.e.apps.utils.Error import kotlinx.android.synthetic.main.activity_category.* import java.io.BufferedReader import java.io.InputStreamReader import java.net.URLEncoder class MicroGDataRequest { companion object { private val reader = Common.getObjectMapper().readerFor(MicroGDataRequest::class.java) } fun requestGmsCoreRelease(callback: (Error?, MicroGDataRequest?) -> Unit) { try { val url = Constants.GMS_RELEASE_API val urlConnection = Common.createConnection(url, Constants.REQUEST_METHOD_GET) val isr = InputStreamReader(urlConnection.inputStream) val element = JsonParser().parse(isr) val releaseList: List<ReleaseData> = Gson().fromJson(element.toString(), Array<ReleaseData>::class.java).toList() val basicData = BasicData( id = "1", name = "MicroG", packageName = Constants.MICROG_PACKAGE, lastVersionNumber = releaseList[0].tag_name, lastVersionCode = 0, latestDownloadableUpdate = "", armeabi_latestDownloadableUpdate = "", arm64_v8a_latest_latestDownloadableUpdate = "", x86_latestDownloadableUpdate = "", armeabi_v7a_latestDownloadableUpdate = "", apkArchitecture = ArrayList(), author = "e-Foundation", iconUri = "https://gitlab.e.foundation/uploads/-/system/project/avatar/149/ic_core_service_app.png?width=64", imagesUri = arrayOf(), privacyRating = 0f, ratings = BasicData.Ratings(0f, 0f), category = "System Apps", is_pwa = false, x86_64_latestDownloadableUpdate = "" ) urlConnection.disconnect() callback.invoke(null, MicroGDataRequest(basicData)) } catch (e: Exception) { callback.invoke(Error.findError(e), null) } } class MicroGDataRequest(private val data: BasicData) { fun getApplications(applicationManager: ApplicationManager, context: Context): ArrayList<Application> { return ApplicationParser.parseSystemAppData(applicationManager, context, data) } } }