Skip to content

Commit

Permalink
Add dummy service for PANORAMA(3) (#2173)
Browse files Browse the repository at this point in the history
Co-authored-by: Marvin W <[email protected]>
  • Loading branch information
DaVinci9196 and mar-v-in authored Feb 16, 2024
1 parent 62081a8 commit 1b34bbd
Show file tree
Hide file tree
Showing 12 changed files with 256 additions and 1 deletion.
1 change: 1 addition & 0 deletions play-services-core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ dependencies {
implementation project(':play-services-location-core')
implementation project(':play-services-location-core-base')
implementation project(':play-services-oss-licenses-core')
implementation project(':play-services-panorama-core')
implementation project(':play-services-pay-core')
implementation project(':play-services-recaptcha-core')
implementation project(':play-services-safetynet-core')
Expand Down
1 change: 0 additions & 1 deletion play-services-core/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -931,7 +931,6 @@
<action android:name="com.google.android.gms.notifications.service.START" />
<action android:name="com.google.android.gms.ocr.service.internal.START" />
<action android:name="com.google.android.gms.ocr.service.START" />
<action android:name="com.google.android.gms.panorama.service.START" />
<action android:name="com.google.android.gms.payse.service.BIND" />
<action android:name="com.google.android.gms.people.contactssync.service.START" />
<action android:name="com.google.android.gms.photos.autobackup.service.START" />
Expand Down
41 changes: 41 additions & 0 deletions play-services-panorama/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/*
* SPDX-FileCopyrightText: 2024 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/

apply plugin: 'com.android.library'
apply plugin: 'maven-publish'
apply plugin: 'signing'

android {
namespace "com.google.android.gms.panorama"

compileSdkVersion androidCompileSdk
buildToolsVersion "$androidBuildVersionTools"

buildFeatures {
aidl = true
}

defaultConfig {
versionName version
minSdkVersion androidMinSdk
targetSdkVersion androidTargetSdk
}

compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
}

apply from: '../gradle/publish-android.gradle'

description = 'microG implementation of play-services-panorama'

dependencies {
// Dependencies from play-services-panorama:17.1.0
api project(":play-services-base")
api project(":play-services-basement")
api project(":play-services-tasks")
}
56 changes: 56 additions & 0 deletions play-services-panorama/core/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/*
* SPDX-FileCopyrightText: 2024 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/

apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'maven-publish'
apply plugin: 'signing'

dependencies {
api project(':play-services-panorama')

implementation project(':play-services-base-core')

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutineVersion"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutineVersion"
}

android {
namespace "org.microg.gms.panorama.core"

compileSdkVersion androidCompileSdk
buildToolsVersion "$androidBuildVersionTools"

defaultConfig {
versionName version
minSdkVersion androidMinSdk
targetSdkVersion androidTargetSdk
}

sourceSets {
main {
java.srcDirs = ['src/main/kotlin']
}
}

lintOptions {
disable 'MissingTranslation'
}

compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}

kotlinOptions {
jvmTarget = 1.8
}
}

// Nothing to publish yet
//apply from: '../gradle/publish-android.gradle'

description = 'microG service implementation for play-services-panorama'
15 changes: 15 additions & 0 deletions play-services-panorama/core/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ SPDX-FileCopyrightText: 2024 microG Project Team
~ SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

<application>
<service android:name="org.microg.gms.panorama.PanoramaService">
<intent-filter>
<action android:name="com.google.android.gms.panorama.service.START" />
</intent-filter>
</service>
</application>
</manifest>
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* SPDX-FileCopyrightText: 2024 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
package org.microg.gms.panorama

import android.net.Uri
import android.os.Bundle
import android.util.Log
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.panorama.internal.IPanoramaCallbacks
import com.google.android.gms.panorama.internal.IPanoramaService
import org.microg.gms.BaseService
import org.microg.gms.common.GmsService

const val TAG = "PanoramaService"

class PanoramaService : BaseService(TAG, GmsService.PANORAMA) {
override fun handleServiceRequest(callback: IGmsCallbacks, request: GetServiceRequest, service: GmsService) {
callback.onPostInitComplete(CommonStatusCodes.SUCCESS, PanoramaServiceImpl().asBinder(), null)
}
}

class PanoramaServiceImpl : IPanoramaService.Stub() {
override fun loadPanoramaInfo(callback: IPanoramaCallbacks?, uri: Uri, bundle: Bundle, needGrantReadUriPermissions: Boolean) {
Log.d(TAG, "Not implemented! $uri bundle:$bundle")
runCatching { callback?.onPanoramaResult(CommonStatusCodes.SUCCESS, null, 0, null) }
}
}
6 changes: 6 additions & 0 deletions play-services-panorama/src/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ SPDX-FileCopyrightText: 2024 microG Project Team
~ SPDX-License-Identifier: Apache-2.0
-->
<manifest />
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
* SPDX-FileCopyrightText: 2024 microG Project Team
* SPDX-License-Identifier: Apache-2.0
* Notice: Portions of this file are reproduced from work created and shared by Google and used
* according to terms described in the Creative Commons 4.0 Attribution License.
* See https://developers.google.com/readme/policies for details.
*/

package com.google.android.gms.panorama;

import com.google.android.gms.common.api.Api;
import com.google.android.gms.common.api.GoogleApiClient;

/**
* The main entry point for panorama integration.
*/
@Deprecated
public class Panorama {
/**
* Token to pass to {@link GoogleApiClient.Builder#addApi(Api)} to enable the Panorama features.
*/
@Deprecated
public static final Api<Api.ApiOptions.NoOptions> API = null;

/**
* The entry point for interacting with the Panorama API.
*/
@Deprecated
public static final PanoramaApi PanoramaApi = null;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* SPDX-FileCopyrightText: 2024 microG Project Team
* SPDX-License-Identifier: Apache-2.0
* Notice: Portions of this file are reproduced from work created and shared by Google and used
* according to terms described in the Creative Commons 4.0 Attribution License.
* See https://developers.google.com/readme/policies for details.
*/

package com.google.android.gms.panorama;

import android.content.Intent;
import android.net.Uri;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.common.api.PendingResult;
import com.google.android.gms.common.api.Result;

/**
* The main entry point for interacting with Panorama viewer. This class provides methods for obtaining an Intent to view a Panorama.
*/
@Deprecated
public interface PanoramaApi {
/**
* Loads information about a panorama.
*
* @param uri the URI of the panorama to load info about. May be a file:, content:, or android_resource: scheme.
*/
@Deprecated
PendingResult<PanoramaApi.PanoramaResult> loadPanoramaInfo(GoogleApiClient client, Uri uri);

/**
* Loads information about a panorama from a content provider. This method will also explicitly grant and revoke access to
* the URI while the load is happening so images in content providers may be inspected without giving permission to an
* entire content provider. The returned viewer intent will also have the {@link Intent#FLAG_GRANT_READ_URI_PERMISSION} set so
* the viewer has access.
*/
@Deprecated
PendingResult<PanoramaApi.PanoramaResult> loadPanoramaInfoAndGrantAccess(GoogleApiClient client, Uri uri);

/**
* Result interface for loading panorama info.
*/
@Deprecated
interface PanoramaResult extends Result {
/**
* Returns if the image is a panorama this is not null and will launch a viewer when started. If the image is not a panorama this will be null.
*/
@Deprecated
Intent getViewerIntent();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
package com.google.android.gms.panorama.internal;

import android.content.Intent;

interface IPanoramaCallbacks {
void onPanoramaResult(int statusCode, in Bundle statusExtras, int unknown, in Intent viewerIntent);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
package com.google.android.gms.panorama.internal;

import com.google.android.gms.panorama.internal.IPanoramaCallbacks;
import android.os.Bundle;
import android.net.Uri;

interface IPanoramaService {
void loadPanoramaInfo(IPanoramaCallbacks callback, in Uri uri, in Bundle bundle, boolean needGrantReadUriPermissions) = 0;
}
2 changes: 2 additions & 0 deletions settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ include ':play-services-measurement-base'
sublude ':play-services-mlkit:barcode-scanning'
include ':play-services-nearby'
include ':play-services-oss-licenses'
include ':play-services-panorama'
include ':play-services-pay'
include ':play-services-phenotype'
include ':play-services-places'
Expand Down Expand Up @@ -97,6 +98,7 @@ sublude ':play-services-maps:core:vtm:microg-theme'
if (hasModule("nearby", true)) sublude ':play-services-nearby:core'
if (hasModule("nearby", true)) sublude ':play-services-nearby:core:package'
sublude ':play-services-oss-licenses:core'
sublude ':play-services-panorama:core'
sublude ':play-services-pay:core'
sublude ':play-services-safetynet:core'
sublude ':play-services-recaptcha:core'
Expand Down

0 comments on commit 1b34bbd

Please sign in to comment.