MicroG 0.2.25.223212-223212002

This commit is contained in:
inotia00 2022-08-25 14:27:17 +09:00
commit 73c659e38f
27 changed files with 116 additions and 145 deletions

View file

@ -6,7 +6,7 @@
buildscript {
ext.androidMinSdk = 23
ext.androidTargetSdk = 30
ext.androidCompileSdk = 31
ext.androidCompileSdk = 33
repositories {
mavenCentral()
@ -25,7 +25,7 @@ allprojects {
group = 'org.microg.gms'
version = "0.2.25.223212"
ext.appVersionCode = 223212001
ext.appVersionCode = 223212002
ext.isReleaseVersion = false
}

View file

@ -1,2 +1,3 @@
android.useAndroidX=true
android.disableAutomaticComponentCreation=true
org.gradle.jvmargs=-Xmx8192m

View file

@ -18,7 +18,7 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion androidCompileSdk
buildToolsVersion "30.0.3"
buildToolsVersion '30.0.3'
defaultConfig {
minSdkVersion androidMinSdk

View file

@ -25,7 +25,7 @@ import org.microg.safeparcel.SafeParceled;
public class AccountChangeEventsRequest extends AutoSafeParcelable {
@Field(1)
private int versionCode = 1;
private final int versionCode = 1;
@Field(2)
private int since;
@Field(3)

View file

@ -22,7 +22,7 @@ dependencies {
android {
compileSdkVersion androidCompileSdk
buildToolsVersion "30.0.3"
buildToolsVersion '30.0.3'
aidlPackageWhiteList "com/google/android/gms/common/data/DataHolder.aidl"
aidlPackageWhiteList "com/google/android/gms/common/images/WebImage.aidl"

View file

@ -10,7 +10,7 @@ apply plugin: 'signing'
dependencies {
api project(':play-services-basement')
api "androidx.lifecycle:lifecycle-service:2.5.0"
api 'androidx.lifecycle:lifecycle-service:2.5.1'
implementation "androidx.annotation:annotation:1.4.0"
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10'
@ -18,7 +18,7 @@ dependencies {
android {
compileSdkVersion androidCompileSdk
buildToolsVersion "30.0.3"
buildToolsVersion '30.0.3'
defaultConfig {
versionName version

View file

@ -133,10 +133,12 @@ public class HttpFormClient {
String[] keyValuePair = s.split("=", 2);
String key = keyValuePair[0].trim();
String value = keyValuePair[1].trim();
boolean matched = false;
try {
for (Field field : tClass.getDeclaredFields()) {
if (field.isAnnotationPresent(ResponseField.class) &&
key.equals(field.getAnnotation(ResponseField.class).value())) {
matched = true;
if (field.getType().equals(String.class)) {
field.set(response, value);
} else if (field.getType().equals(boolean.class)) {
@ -151,6 +153,9 @@ public class HttpFormClient {
} catch (Exception e) {
Log.w(TAG, e);
}
if (!matched) {
Log.w(TAG, "Response line '" + s + "' not processed");
}
}
for (Field field : tClass.getDeclaredFields()) {
if (field.isAnnotationPresent(ResponseHeader.class)) {
@ -191,11 +196,14 @@ public class HttpFormClient {
public static <T> void requestAsync(final String url, final Request request, final Class<T> tClass,
final Callback<T> callback) {
new Thread(() -> {
try {
callback.onResponse(request(url, request, tClass));
} catch (Exception e) {
callback.onException(e);
new Thread(new Runnable() {
@Override
public void run() {
try {
callback.onResponse(request(url, request, tClass));
} catch (Exception e) {
callback.onException(e);
}
}
}).start();
}
@ -214,25 +222,25 @@ public class HttpFormClient {
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface RequestHeader {
String[] value();
public String[] value();
boolean truePresent() default true;
public boolean truePresent() default true;
boolean falsePresent() default false;
public boolean falsePresent() default false;
boolean nullPresent() default false;
public boolean nullPresent() default false;
}
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface RequestContent {
String[] value();
public String[] value();
boolean truePresent() default true;
public boolean truePresent() default true;
boolean falsePresent() default false;
public boolean falsePresent() default false;
boolean nullPresent() default false;
public boolean nullPresent() default false;
}
@Retention(RetentionPolicy.RUNTIME)
@ -243,13 +251,13 @@ public class HttpFormClient {
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface ResponseField {
String value();
public String value();
}
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface ResponseHeader {
String value();
public String value();
}
@Retention(RetentionPolicy.RUNTIME)
@ -261,4 +269,4 @@ public class HttpFormClient {
@Target(ElementType.FIELD)
public @interface ResponseStatusText {
}
}
}

View file

@ -18,7 +18,7 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion androidCompileSdk
buildToolsVersion "30.0.3"
buildToolsVersion '30.0.3'
defaultConfig {
minSdkVersion androidMinSdk
@ -34,10 +34,10 @@ android {
dependencies {
api project(':play-services-base-api')
// Dependencies from play-services-base:18.0.1
// Dependencies from play-services-base:18.1.0
api 'androidx.collection:collection:1.2.0'
api 'androidx.core:core:1.8.0'
api 'androidx.fragment:fragment:1.5.0'
api 'androidx.fragment:fragment:1.5.2'
api project(':play-services-basement')
api project(':play-services-tasks')
}

View file

@ -27,6 +27,7 @@ import android.os.RemoteException;
import android.util.Log;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.api.CommonStatusCodes;
import com.google.android.gms.common.internal.GetServiceRequest;
import com.google.android.gms.common.internal.IGmsCallbacks;
import com.google.android.gms.common.internal.IGmsServiceBroker;
@ -165,18 +166,23 @@ public abstract class GmsClient<I extends IInterface> implements ApiClient {
@Override
public void onPostInitComplete(int statusCode, IBinder binder, Bundle params)
throws RemoteException {
synchronized (GmsClient.this) {
if (state == ConnectionState.DISCONNECTING) {
state = ConnectionState.CONNECTED;
disconnect();
return;
}
if (statusCode != CommonStatusCodes.SUCCESS) {
state = ConnectionState.CONNECTED;
serviceInterface = interfaceFromBinder(binder);
disconnect();
connectionFailedListener.onConnectionFailed(new ConnectionResult(statusCode));
} else {
synchronized (GmsClient.this) {
if (state == ConnectionState.DISCONNECTING) {
state = ConnectionState.CONNECTED;
disconnect();
return;
}
state = ConnectionState.CONNECTED;
serviceInterface = interfaceFromBinder(binder);
}
Log.d(TAG, "GmsCallbacks : onPostInitComplete(" + serviceInterface + ")");
callbacks.onConnected(params);
}
Log.d(TAG, "GmsCallbacks : onPostInitComplete(" + serviceInterface + ")");
callbacks.onConnected(params);
}
}
}

View file

@ -23,12 +23,12 @@ dependencies {
// Dependencies from play-services-basement:18.0.0
api 'androidx.collection:collection:1.2.0'
api 'androidx.core:core:1.8.0'
api 'androidx.fragment:fragment:1.5.0'
api 'androidx.fragment:fragment:1.5.2'
}
android {
compileSdkVersion androidCompileSdk
buildToolsVersion "30.0.3"
buildToolsVersion '30.0.3'
aidlPackageWhiteList "com/google/android/gms/common/api/Status.aidl"
aidlPackageWhiteList "com/google/android/gms/common/internal/ICancelToken.aidl"

View file

@ -21,73 +21,24 @@ public final class GcmConstants {
public static final String ACTION_C2DM_REGISTER = "com.mgoogle.android.c2dm.intent.REGISTER";
public static final String ACTION_C2DM_REGISTRATION = "com.mgoogle.android.c2dm.intent.REGISTRATION";
public static final String ACTION_C2DM_UNREGISTER = "com.mgoogle.android.c2dm.intent.UNREGISTER";
public static final String ACTION_GCM_SEND = "com.google.android.gcm.intent.SEND";
public static final String ACTION_NOTIFICATION_OPEN = "com.google.android.gms.gcm.NOTIFICATION_OPEN";
public static final String ACTION_NOTIFICATION_DISMISS = "com.google.android.gms.gcm.NOTIFICATION_DISMISS";
public static final String ACTION_SCHEDULE = "com.google.android.gms.gcm.ACTION_SCHEDULE";
public static final String ACTION_TASK_READY = "com.google.android.gms.gcm.ACTION_TASK_READY";
public static final String ACTION_TASK_INITIALZE = "com.google.android.gms.gcm.SERVICE_ACTION_INITIALIZE";
public static final String ACTION_INSTANCE_ID = "com.google.android.gms.iid.InstanceID";
public static final String EXTRA_APP = "app";
public static final String EXTRA_APP_OVERRIDE = "org.microg.gms.gcm.APP_OVERRIDE";
public static final String EXTRA_APP_ID = "appid";
public static final String EXTRA_APP_VERSION_CODE = "app_ver";
public static final String EXTRA_APP_VERSION_NAME = "app_ver_name";
public static final String EXTRA_CLIENT_VERSION = "cliv";
public static final String EXTRA_COMPONENT = "component";
public static final String EXTRA_COLLAPSE_KEY = "collapse_key";
public static final String EXTRA_DELAY = "google.delay";
public static final String EXTRA_DELETE = "delete";
public static final String EXTRA_ERROR = "error";
public static final String EXTRA_FROM = "from";
public static final String EXTRA_GSF_INTENT = "GSF";
public static final String EXTRA_GMS_VERSION = "gmsv";
public static final String EXTRA_IS_MESSENGER2 = "messenger2";
public static final String EXTRA_KID = "kid";
public static final String EXTRA_MESSENGER = "google.messenger";
public static final String EXTRA_MESSAGE_TYPE = "message_type";
public static final String EXTRA_MESSAGE_ID = "google.message_id";
public static final String EXTRA_OS_VERSION = "osv";
public static final String EXTRA_PENDING_INTENT = "com.google.android.gms.gcm.PENDING_INTENT";
public static final String EXTRA_PUBLIC_KEY = "pub2";
public static final String EXTRA_RAWDATA = "rawData";
public static final String EXTRA_RAWDATA_BASE64 = "gcm.rawData64";
public static final String EXTRA_REGISTRATION_ID = "registration_id";
public static final String EXTRA_RETRY_AFTER = "Retry-After";
public static final String EXTRA_SCHEDULER_ACTION = "scheduler_action";
public static final String EXTRA_SCOPE = "scope";
public static final String EXTRA_SENDER = "sender";
public static final String EXTRA_SENDER_LEGACY = "legacy.sender";
public static final String EXTRA_SEND_TO = "google.to";
public static final String EXTRA_SEND_FROM = "google.from";
public static final String EXTRA_SIGNATURE = "sig";
public static final String EXTRA_SUBSCIPTION = "subscription";
public static final String EXTRA_SUBTYPE = "subtype";
public static final String EXTRA_USE_GSF = "useGsf";
public static final String EXTRA_TAG = "tag";
public static final String EXTRA_TOPIC = "gcm.topic";
public static final String EXTRA_TTL = "google.ttl";
public static final String EXTRA_UNREGISTERED = "unregistered";
public static final String MESSAGE_TYPE_GCM = "gcm";
public static final String MESSAGE_TYPE_DELETED_MESSAGE = "deleted_message";
public static final String MESSAGE_TYPE_SEND_ERROR = "send_error";
public static final String MESSAGE_TYPE_SEND_EVENT = "send_event";
public static final String SCHEDULER_ACTION_CANCEL = "CANCEL_TASK";
public static final String SCHEDULER_ACTION_CANCEL_ALL = "CANCEL_ALL";
public static final String SCHEDULER_ACTION_SCHEDULE = "SCHEDULE_TASK";
public static final String PERMISSION_GTALK = "com.google.android.gtalkservice.permission.GTALK_SERVICE";
public static final String PERMISSION_NETWORK_TASK = "com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE";
public static final String PERMISSION_RECEIVE = "com.google.android.c2dm.permission.RECEIVE";
public static final String PERMISSION_SEND = "com.google.android.c2dm.permission.SEND";
public static final String ERROR_SERVICE_NOT_AVAILABLE = "SERVICE_NOT_AVAILABLE";
public static final String INSTANCE_ID_SCOPE_GCM = "GCM";
public static final String GCMID_INSTANCE_ID = "google.com/iid";
public static final String GCMID_REFRESH = "gcm.googleapis.com/refresh";
}

View file

@ -30,7 +30,7 @@ dependencies {
implementation project(':play-services-tasks')
// AndroidX UI
implementation 'androidx.appcompat:appcompat:1.4.2'
implementation 'androidx.appcompat:appcompat:1.5.0'
implementation 'androidx.mediarouter:mediarouter:1.3.1'
implementation 'androidx.preference:preference-ktx:1.2.0'
@ -48,7 +48,7 @@ dependencies {
android {
compileSdkVersion androidCompileSdk
buildToolsVersion "30.0.3"
buildToolsVersion '30.0.3'
defaultConfig {
versionName version
@ -92,6 +92,9 @@ android {
packagingOptions {
exclude 'META-INF/ASL2.0'
jniLibs {
useLegacyPackaging false
}
}
}

View file

@ -18,7 +18,7 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion androidCompileSdk
buildToolsVersion "30.0.3"
buildToolsVersion '30.0.3'
defaultConfig {
minSdkVersion androidMinSdk
@ -37,7 +37,7 @@ android {
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.4.2'
implementation 'androidx.appcompat:appcompat:1.5.0'
implementation 'androidx.preference:preference:1.2.0'
}

View file

@ -81,7 +81,6 @@
<application
android:allowBackup="true"
android:extractNativeLibs="true"
android:forceQueryable="true"
android:fullBackupOnly="true"
android:icon="@mipmap/ic_launcher"
@ -355,12 +354,6 @@
android:resource="@string/gms_settings_summary" />
</activity-alias>
<activity
android:name="org.microg.gms.ui.AboutFragment$AsActivity"
android:label="@string/pref_about_title"
android:process=":ui"
android:taskAffinity="org.microg.gms.settings" />
<activity
android:name="org.microg.gms.ui.GoogleMoreFragment$AsActivity"
android:label="@string/gms_settings_name"
@ -403,5 +396,4 @@
</intent-filter>
</service>
</application>
</manifest>

View file

@ -41,6 +41,7 @@ import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
@Keep
@SuppressWarnings("unchecked")
public class ProviderInstallerImpl {
private static final String TAG = "GmsProviderInstaller";
private static final List<String> DISABLED = Collections.unmodifiableList(Arrays.asList("com.bankid.bus"));

View file

@ -19,40 +19,8 @@ package org.microg.gms.gcm;
import static android.app.AlarmManager.ELAPSED_REALTIME_WAKEUP;
import static android.os.Build.VERSION.SDK_INT;
import static org.microg.gms.common.PackageUtils.warnIfNotPersistentProcess;
import static org.microg.gms.gcm.GcmConstants.ACTION_C2DM_RECEIVE;
import static org.microg.gms.gcm.GcmConstants.EXTRA_APP;
import static org.microg.gms.gcm.GcmConstants.EXTRA_APP_OVERRIDE;
import static org.microg.gms.gcm.GcmConstants.EXTRA_COLLAPSE_KEY;
import static org.microg.gms.gcm.GcmConstants.EXTRA_FROM;
import static org.microg.gms.gcm.GcmConstants.EXTRA_MESSAGE_ID;
import static org.microg.gms.gcm.GcmConstants.EXTRA_MESSENGER;
import static org.microg.gms.gcm.GcmConstants.EXTRA_REGISTRATION_ID;
import static org.microg.gms.gcm.GcmConstants.EXTRA_SEND_FROM;
import static org.microg.gms.gcm.GcmConstants.EXTRA_SEND_TO;
import static org.microg.gms.gcm.GcmConstants.EXTRA_TTL;
import static org.microg.gms.gcm.McsConstants.ACTION_ACK;
import static org.microg.gms.gcm.McsConstants.ACTION_CONNECT;
import static org.microg.gms.gcm.McsConstants.ACTION_HEARTBEAT;
import static org.microg.gms.gcm.McsConstants.ACTION_RECONNECT;
import static org.microg.gms.gcm.McsConstants.ACTION_SEND;
import static org.microg.gms.gcm.McsConstants.EXTRA_REASON;
import static org.microg.gms.gcm.McsConstants.MCS_CLOSE_TAG;
import static org.microg.gms.gcm.McsConstants.MCS_DATA_MESSAGE_STANZA_TAG;
import static org.microg.gms.gcm.McsConstants.MCS_HEARTBEAT_ACK_TAG;
import static org.microg.gms.gcm.McsConstants.MCS_HEARTBEAT_PING_TAG;
import static org.microg.gms.gcm.McsConstants.MCS_IQ_STANZA_TAG;
import static org.microg.gms.gcm.McsConstants.MCS_LOGIN_REQUEST_TAG;
import static org.microg.gms.gcm.McsConstants.MCS_LOGIN_RESPONSE_TAG;
import static org.microg.gms.gcm.McsConstants.MSG_ACK;
import static org.microg.gms.gcm.McsConstants.MSG_CONNECT;
import static org.microg.gms.gcm.McsConstants.MSG_HEARTBEAT;
import static org.microg.gms.gcm.McsConstants.MSG_INPUT;
import static org.microg.gms.gcm.McsConstants.MSG_INPUT_ERROR;
import static org.microg.gms.gcm.McsConstants.MSG_OUTPUT;
import static org.microg.gms.gcm.McsConstants.MSG_OUTPUT_DONE;
import static org.microg.gms.gcm.McsConstants.MSG_OUTPUT_ERROR;
import static org.microg.gms.gcm.McsConstants.MSG_OUTPUT_READY;
import static org.microg.gms.gcm.McsConstants.MSG_TEARDOWN;
import static org.microg.gms.gcm.GcmConstants.*;
import static org.microg.gms.gcm.McsConstants.*;
import android.annotation.SuppressLint;
import android.app.AlarmManager;

View file

@ -3,6 +3,8 @@
* SPDX-License-Identifier: Apache-2.0
*/
@file:Suppress("DEPRECATION")
package org.microg.gms.gcm
import android.content.BroadcastReceiver

View file

@ -13,10 +13,10 @@ import androidx.preference.Preference
import androidx.preference.PreferenceViewHolder
class AppIconPreference : Preference {
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(
context!!, attrs, defStyleAttr, defStyleRes)
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context!!, attrs, defStyleAttr)
constructor(context: Context?, attrs: AttributeSet?) : super(context!!, attrs)
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(
context, attrs, defStyleAttr, defStyleRes)
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
constructor(context: Context) : super(context)
override fun onBindViewHolder(holder: PreferenceViewHolder) {

View file

@ -15,10 +15,10 @@ import androidx.preference.Preference
import androidx.preference.PreferenceViewHolder
class TextPreference : Preference {
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(
context!!, attrs, defStyleAttr, defStyleRes)
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context!!, attrs, defStyleAttr)
constructor(context: Context?, attrs: AttributeSet?) : super(context!!, attrs)
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(
context, attrs, defStyleAttr, defStyleRes)
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
constructor(context: Context) : super(context)

View file

@ -3,6 +3,8 @@
* SPDX-License-Identifier: Apache-2.0
*/
@file:Suppress("DEPRECATION")
package org.microg.gms.ui
import android.content.ComponentName

Some files were not shown because too many files have changed in this diff Show more