mirror of
https://github.com/TeamVanced/VancedMicroG
synced 2024-12-24 11:45:50 +01:00
Implement API for AppInvite and Firebase Dynamic Links
This commit is contained in:
parent
ed68a9482e
commit
94de371cb9
49
firebase-dynamic-links-api/build.gradle
Normal file
49
firebase-dynamic-links-api/build.gradle
Normal file
@ -0,0 +1,49 @@
|
||||
/*
|
||||
* Copyright 2019 e Foundation
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
apply plugin: 'com.android.library'
|
||||
|
||||
String getMyVersionName() {
|
||||
def stdout = new ByteArrayOutputStream()
|
||||
if (rootProject.file("gradlew").exists())
|
||||
exec { commandLine 'git', 'describe', '--tags', '--always', '--dirty'; standardOutput = stdout }
|
||||
else // automatic build system, don't tag dirty
|
||||
exec { commandLine 'git', 'describe', '--tags', '--always'; standardOutput = stdout }
|
||||
return stdout.toString().trim().substring(1)
|
||||
}
|
||||
|
||||
group = 'org.microg'
|
||||
version = getMyVersionName()
|
||||
|
||||
android {
|
||||
compileSdkVersion androidCompileSdk()
|
||||
buildToolsVersion "$androidBuildVersionTools"
|
||||
|
||||
defaultConfig {
|
||||
versionName getMyVersionName()
|
||||
minSdkVersion androidMinSdk()
|
||||
targetSdkVersion androidTargetSdk()
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api project(':play-services-basement')
|
||||
}
|
34
firebase-dynamic-links-api/gradle.properties
Normal file
34
firebase-dynamic-links-api/gradle.properties
Normal file
@ -0,0 +1,34 @@
|
||||
#
|
||||
# Copyright 2019 e Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
POM_NAME=Firebase Dynamic Links API
|
||||
POM_DESCRIPTION=Interfaces and objects for IPC between Firebase Library and microG
|
||||
|
||||
POM_PACKAGING=aar
|
||||
|
||||
POM_URL=https://github.com/microg/android_external_GmsApi
|
||||
|
||||
POM_SCM_URL=https://github.com/microg/android_external_GmsApi
|
||||
POM_SCM_CONNECTION=scm:git@github.com:microg/android_external_GmsApi.git
|
||||
POM_SCM_DEV_CONNECTION=scm:git@github.com:microg/android_external_GmsApi.git
|
||||
|
||||
POM_LICENCE_NAME=The Apache Software License, Version 2.0
|
||||
POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
|
||||
POM_LICENCE_DIST=repo
|
||||
|
||||
POM_DEVELOPER_ID=alexandruchircu
|
||||
POM_DEVELOPER_NAME=Alexandru Chircu
|
||||
|
18
firebase-dynamic-links-api/src/main/AndroidManifest.xml
Normal file
18
firebase-dynamic-links-api/src/main/AndroidManifest.xml
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2019 e Foundation
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<manifest package="org.microg.gms.firebase.dynamiclinks.api"/>
|
@ -0,0 +1,3 @@
|
||||
package com.google.firebase.dynamiclinks.internal;
|
||||
|
||||
parcelable DynamicLinkData;
|
@ -0,0 +1,12 @@
|
||||
package com.google.firebase.dynamiclinks.internal;
|
||||
|
||||
|
||||
import com.google.firebase.dynamiclinks.internal.DynamicLinkData;
|
||||
import com.google.firebase.dynamiclinks.internal.ShortDynamicLink;
|
||||
|
||||
import com.google.android.gms.common.api.Status;
|
||||
|
||||
interface IDynamicLinksCallbacks {
|
||||
void onStatusDynamicLinkData(in Status status, in DynamicLinkData dldata) = 0;
|
||||
void onStatusShortDynamicLink(in Status status, in ShortDynamicLink sdlink) = 1;
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package com.google.firebase.dynamiclinks.internal;
|
||||
|
||||
|
||||
import com.google.firebase.dynamiclinks.internal.IDynamicLinksCallbacks;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
|
||||
interface IDynamicLinksService {
|
||||
void getInitialLink(IDynamicLinksCallbacks callback, String var2) = 0;
|
||||
void func2(IDynamicLinksCallbacks callback, in Bundle var2) = 1;
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
package com.google.firebase.dynamiclinks.internal;
|
||||
|
||||
parcelable ShortDynamicLink;
|
@ -0,0 +1,3 @@
|
||||
package com.google.firebase.dynamiclinks.internal;
|
||||
|
||||
parcelable Warning;
|
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* Copyright (C) 2019 e Foundation
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.firebase.dynamiclinks.internal;
|
||||
|
||||
|
||||
import org.microg.safeparcel.AutoSafeParcelable;
|
||||
import org.microg.safeparcel.SafeParceled;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.net.Uri;
|
||||
|
||||
|
||||
public class DynamicLinkData extends AutoSafeParcelable {
|
||||
@SafeParceled(1)
|
||||
public final String dynamicLink;
|
||||
|
||||
@SafeParceled(2)
|
||||
public final String deepLink;
|
||||
|
||||
@SafeParceled(3)
|
||||
public final int minVersion;
|
||||
|
||||
@SafeParceled(4)
|
||||
public final long clickTimestamp;
|
||||
|
||||
@SafeParceled(5)
|
||||
public final Bundle extensionBundle;
|
||||
|
||||
@SafeParceled(6)
|
||||
public final Uri redirectUrl;
|
||||
|
||||
public DynamicLinkData() {
|
||||
dynamicLink = new String();
|
||||
deepLink = new String();
|
||||
minVersion = 0;
|
||||
clickTimestamp = 0;
|
||||
extensionBundle = new Bundle();
|
||||
redirectUrl = Uri.EMPTY;
|
||||
}
|
||||
|
||||
|
||||
public static final Creator<DynamicLinkData> CREATOR = new AutoCreator<DynamicLinkData>(DynamicLinkData.class);
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright (C) 2019 e Foundation
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.firebase.dynamiclinks.internal;
|
||||
|
||||
|
||||
import com.google.firebase.dynamiclinks.internal.Warning;
|
||||
|
||||
import org.microg.safeparcel.AutoSafeParcelable;
|
||||
import org.microg.safeparcel.SafeParceled;
|
||||
|
||||
import android.net.Uri;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
||||
public class ShortDynamicLink extends AutoSafeParcelable {
|
||||
@SafeParceled(1)
|
||||
public final Uri shortLink;
|
||||
|
||||
@SafeParceled(2)
|
||||
public final Uri previewLink;
|
||||
|
||||
@SafeParceled(3)
|
||||
public final List<Warning> warnings;
|
||||
|
||||
|
||||
public ShortDynamicLink() {
|
||||
shortLink = Uri.EMPTY;
|
||||
previewLink = Uri.EMPTY;
|
||||
|
||||
warnings = new ArrayList<>();
|
||||
}
|
||||
|
||||
|
||||
public static final Creator<ShortDynamicLink> CREATOR = new AutoCreator<ShortDynamicLink>(ShortDynamicLink.class);
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright (C) 2019 e Foundation
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.firebase.dynamiclinks.internal;
|
||||
|
||||
|
||||
import org.microg.safeparcel.AutoSafeParcelable;
|
||||
import org.microg.safeparcel.SafeParceled;
|
||||
|
||||
|
||||
public class Warning extends AutoSafeParcelable {
|
||||
@SafeParceled(1)
|
||||
private int versionCode = 1;
|
||||
|
||||
@SafeParceled(2)
|
||||
public final String message;
|
||||
|
||||
|
||||
public Warning() {
|
||||
message = null;
|
||||
}
|
||||
|
||||
|
||||
public static final Creator<Warning> CREATOR = new AutoCreator<Warning>(Warning.class);
|
||||
}
|
49
play-services-appinvite-api/build.gradle
Normal file
49
play-services-appinvite-api/build.gradle
Normal file
@ -0,0 +1,49 @@
|
||||
/*
|
||||
* Copyright 2019 e Foundation
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
apply plugin: 'com.android.library'
|
||||
|
||||
String getMyVersionName() {
|
||||
def stdout = new ByteArrayOutputStream()
|
||||
if (rootProject.file("gradlew").exists())
|
||||
exec { commandLine 'git', 'describe', '--tags', '--always', '--dirty'; standardOutput = stdout }
|
||||
else // automatic build system, don't tag dirty
|
||||
exec { commandLine 'git', 'describe', '--tags', '--always'; standardOutput = stdout }
|
||||
return stdout.toString().trim().substring(1)
|
||||
}
|
||||
|
||||
group = 'org.microg'
|
||||
version = getMyVersionName()
|
||||
|
||||
android {
|
||||
compileSdkVersion androidCompileSdk()
|
||||
buildToolsVersion "$androidBuildVersionTools"
|
||||
|
||||
defaultConfig {
|
||||
versionName getMyVersionName()
|
||||
minSdkVersion androidMinSdk()
|
||||
targetSdkVersion androidTargetSdk()
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api project(':play-services-basement')
|
||||
}
|
34
play-services-appinvite-api/gradle.properties
Normal file
34
play-services-appinvite-api/gradle.properties
Normal file
@ -0,0 +1,34 @@
|
||||
#
|
||||
# Copyright 2019 e Foundation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
POM_NAME=Play Services Internal AppInvite API
|
||||
POM_DESCRIPTION=Interfaces and objects for IPC between Play Services Library and Play Services Core
|
||||
|
||||
POM_PACKAGING=aar
|
||||
|
||||
POM_URL=https://github.com/microg/android_external_GmsApi
|
||||
|
||||
POM_SCM_URL=https://github.com/microg/android_external_GmsApi
|
||||
POM_SCM_CONNECTION=scm:git@github.com:microg/android_external_GmsApi.git
|
||||
POM_SCM_DEV_CONNECTION=scm:git@github.com:microg/android_external_GmsApi.git
|
||||
|
||||
POM_LICENCE_NAME=The Apache Software License, Version 2.0
|
||||
POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
|
||||
POM_LICENCE_DIST=repo
|
||||
|
||||
POM_DEVELOPER_ID=alexandruchircu
|
||||
POM_DEVELOPER_NAME=Alexandru Chircu
|
||||
|
18
play-services-appinvite-api/src/main/AndroidManifest.xml
Normal file
18
play-services-appinvite-api/src/main/AndroidManifest.xml
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2019 e Foundation
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<manifest package="org.microg.gms.appinvite.api"/>
|
@ -0,0 +1,11 @@
|
||||
package com.google.android.gms.appinvite.internal;
|
||||
|
||||
|
||||
import com.google.android.gms.common.api.Status;
|
||||
import android.content.Intent;
|
||||
|
||||
|
||||
interface IAppInviteCallbacks {
|
||||
void onStatus(in Status status) = 0;
|
||||
void onStatusIntent(in Status status, in Intent intent) = 1;
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package com.google.android.gms.appinvite.internal;
|
||||
|
||||
|
||||
import com.google.android.gms.appinvite.internal.IAppInviteCallbacks;
|
||||
|
||||
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||
import com.google.android.gms.common.api.Status;
|
||||
|
||||
|
||||
interface IAppInviteService {
|
||||
void updateInvitationOnInstall(IAppInviteCallbacks callback, String invitationId) = 0;
|
||||
void convertInvitation(IAppInviteCallbacks callback, String invitationId) = 1;
|
||||
void getInvitation(IAppInviteCallbacks callback) = 2;
|
||||
}
|
@ -88,6 +88,7 @@ public enum GmsService {
|
||||
PLUS_INTERNAL(70),
|
||||
SOURCE_DEVICE(75, "com.google.android.gms.smartdevice.d2d.SourceDeviceService.START"),
|
||||
TARGET_DEVICE(76, "com.google.android.gms.smartdevice.d2d.TargetDeviceService.START"),
|
||||
APP_INVITE(77, "com.google.android.gms.appinvite.service.START"),
|
||||
TAP_AND_PAY(79, "com.google.android.gms.tapandpay.service.BIND"),
|
||||
ACCOUNTS(81, "com.google.android.gms.smartdevice.setup.accounts.AccountsService.START"),
|
||||
TRUST_AGENT(85, "com.google.android.gms.trustagent.StateApi.START"),
|
||||
@ -98,7 +99,8 @@ public enum GmsService {
|
||||
GASS(116, "com.google.android.gms.gass.START"),
|
||||
WORK_ACCOUNT(120),
|
||||
AD_CACHE(123, "com.google.android.gms.ads.service.CACHE"),
|
||||
NEARBY_EXPOSURE(236, "com.google.android.gms.nearby.exposurenotification.START")
|
||||
DYNAMIC_LINKS(131, "com.google.firebase.dynamiclinks.service.START"),
|
||||
NEARBY_EXPOSURE(236, "com.google.android.gms.nearby.exposurenotification.START"),
|
||||
;
|
||||
|
||||
public int SERVICE_ID;
|
||||
|
@ -4,6 +4,7 @@ include ':play-services-basement'
|
||||
|
||||
include ':play-services-tasks'
|
||||
|
||||
include ':play-services-appinvite-api'
|
||||
include ':play-services-base-api'
|
||||
include ':play-services-cast-api'
|
||||
include ':play-services-cast-framework-api'
|
||||
@ -14,6 +15,8 @@ include ':play-services-wearable-api'
|
||||
|
||||
include ':play-services-api'
|
||||
|
||||
include ':firebase-dynamic-links-api'
|
||||
|
||||
include ':play-services-base-core'
|
||||
include ':play-services-location-core'
|
||||
include ':play-services-maps-core-mapbox'
|
||||
|
Loading…
Reference in New Issue
Block a user