Add more services

This commit is contained in:
mar-v-in 2015-03-01 14:54:31 +01:00
parent f88a6d0cde
commit 63f99df4a6
30 changed files with 462 additions and 63 deletions

View File

@ -58,30 +58,46 @@
<!-- Location -->
<service
android:name="com.google.android.location.internal.GoogleLocationManagerService"
android:permission="android.permission.ACCESS_COARSE_LOCATION"
android:name="org.microg.gms.location.GoogleLocationManagerService"
android:exported="true">
<intent-filter>
<action android:name="com.google.android.location.internal.GoogleLocationManagerService.START" />
</intent-filter>
<intent-filter>
<action android:name="com.google.android.location.internal.GMS_NLP" />
</intent-filter>
<meta-data
android:name="minProtocolVersion"
android:value="1" />
<meta-data
android:name="maxProtocolVersion"
android:value="1" />
<meta-data
android:name="releaseVersion"
android:value="2007" />
<meta-data
android:name="nlpServiceIntent"
android:value="com.google.android.location.internal.GMS_NLP" />
</service>
<!--
~ TODO: maybe this should go in UnifiedNlp?
~ Only if fake signature is not required
-->
<service android:name="org.microg.gms.location.ReportingAndroidService">
<intent-filter>
<action android:name="com.google.android.location.reporting.service.START" />
<action android:name="com.google.android.gms.location.reporting.service.START" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</service>
<!-- Services Framework -->
<provider
android:name="org.microg.gms.gservices.GServicesProvider"
android:exported="true"
android:authorities="com.google.android.gsf.gservices" />
<provider
android:name="org.microg.gms.settings.GoogleSettingsProvider"
android:exported="true"
android:authorities="com.google.settings" />
<provider
android:name="org.microg.gms.feeds.SubscribedFeedsProvider"
android:authorities="subscribedfeeds"
android:exported="true"
android:multiprocess="false"
android:readPermission="android.permission.SUBSCRIBED_FEEDS_READ"
android:writePermission="android.permission.SUBSCRIBED_FEEDS_WRITE" />
<!-- Device Checkin -->
<service android:name="org.microg.gms.checkin.CheckinService" />
@ -115,24 +131,10 @@
</intent-filter>
</service>
<!-- Services Framework -->
<provider
android:name="org.microg.gms.gservices.GServicesProvider"
android:exported="true"
android:authorities="com.google.android.gsf.gservices" />
<provider
android:name="org.microg.gms.feeds.SubscribedFeedsProvider"
android:authorities="subscribedfeeds"
android:exported="true"
android:multiprocess="false"
android:readPermission="android.permission.SUBSCRIBED_FEEDS_READ"
android:writePermission="android.permission.SUBSCRIBED_FEEDS_WRITE" />
<!-- People -->
<service
android:name=".people.service.PeopleService"
android:name="org.microg.gms.people.PeopleService"
android:exported="true">
<intent-filter>
<action android:name="com.google.android.gms.people.service.START" />
@ -140,6 +142,16 @@
</intent-filter>
</service>
<!-- Wearable -->
<service
android:name="org.microg.gms.wearable.WearableService"
android:exported="true">
<intent-filter>
<action android:name="com.google.android.gms.wearable.BIND" />
</intent-filter>
</service>
<!-- Auth -->
<service
@ -194,5 +206,24 @@
<activity
android:name=".auth.TokenActivity"
android:exported="true" />
<!-- Other -->
<service
android:name="org.microg.gms.mdm.NetworkQualityService"
android:exported="true">
<intent-filter>
<action android:name="com.google.android.gms.mdm.services.START" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</service>
<service
android:name="org.microg.gms.icing.LightweightIndexService"
android:exported="true">
<intent-filter>
<action android:name="com.google.android.gms.icing.LIGHTWEIGHT_INDEX_SERVICE" />
</intent-filter>
</service>
</application>
</manifest>

2
GmsApi

@ -1 +1 @@
Subproject commit 3243e7d3ecf2f7ff92279b61c4a7e7831356f5c7
Subproject commit 6020cd818a17d1d38a85157b0d44e3505fe791ee

View File

@ -150,6 +150,7 @@
<string name="permission_scope_www.googleapis.com_auth_latitude.current.city">Manage your city-level location</string>
<string name="permission_scope_www.googleapis.com_auth_mapsengine">provides read and write access to the user\'s Maps Engine data from your application.</string>
<string name="permission_scope_www.googleapis.com_auth_mapsengine.readonly">provides read-only access to the user\'s Maps Engine data from your</string>
<string name="permission_scope_www.googleapis.com_auth_mobilemaps.firstparty">Full access to your Google Maps account</string>
<string name="permission_scope_www.googleapis.com_auth_orkut">Manage your Orkut activity</string>
<string name="permission_scope_www.googleapis.com_auth_orkut.readonly">View your Orkut data</string>
<string name="permission_scope_www.googleapis.com_auth_plus.login">Know your name, basic info, and list of people you\'re connected to on Google+</string>

View File

@ -0,0 +1,22 @@
/*
* Copyright 2013-2015 µg Project Team
*
* 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.android.gms.ads;
import android.app.Activity;
public class AdActivity extends Activity {
}

View File

@ -0,0 +1,20 @@
/*
* Copyright 2013-2015 µg Project Team
*
* 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.android.gms.ads;
public class AdManagerCreatorImpl {
}

View File

@ -0,0 +1,32 @@
/*
* Copyright 2013-2015 µg Project Team
*
* 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.android.gms.analytics.service;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class AnalyticsService extends Service {
private static final String TAG = "GmsAnalyticsSvc";
@Override
public IBinder onBind(Intent intent) {
Log.d(TAG, "onBind: " + intent);
return null;
}
}

View File

@ -16,22 +16,20 @@
package com.google.android.gms.auth;
import android.accounts.*;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import java.io.IOException;
public class TokenActivity extends Activity {
private static final String TAG = "GmsAuthTokenActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
extras.get("KEY");
Log.d("TokenActivity", extras.toString());
AccountManager accountManager = AccountManager.get(this);
Log.d(TAG, extras.toString());
/*AccountManager accountManager = AccountManager.get(this);
accountManager.getAuthToken(new Account(extras.getString("authAccount"), "com.google"), extras.getString("service"), extras.getBundle("callerExtras"), this, new AccountManagerCallback<Bundle>() {
@Override
public void run(AccountManagerFuture<Bundle> future) {
@ -51,6 +49,6 @@ public class TokenActivity extends Activity {
e.printStackTrace();
}
}
}, new Handler(getMainLooper()));
}, new Handler(getMainLooper()));*/
}
}

View File

@ -0,0 +1,20 @@
/*
* Copyright 2013-2015 µg Project Team
*
* 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.android.gms.common.ui;
public class SignInButtonCreatorImpl {
}

View File

@ -0,0 +1,32 @@
/*
* Copyright 2013-2015 µg Project Team
*
* 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.android.gms.recovery;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class RecoveryService extends Service {
private static final String TAG = "GmsRecoverySvc";
@Override
public IBinder onBind(Intent intent) {
Log.d(TAG, "onBind: " + intent);
return null;
}
}

View File

@ -0,0 +1,20 @@
/*
* Copyright 2013-2015 µg Project Team
*
* 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.android.gms.wallet.dynamite;
public class WalletDynamiteCreatorImpl {
}

View File

@ -35,7 +35,7 @@ import com.google.android.gms.auth.AccountChangeEventsResponse;
import org.microg.gms.common.Utils;
public class AuthManagerServiceImpl extends IAuthManagerService.Stub {
private static final String TAG = "GmsAuthManagerService";
private static final String TAG = "GmsAuthManagerSvc";
public static final String GOOGLE_ACCOUNT_TYPE = "com.google";

View File

@ -40,7 +40,7 @@ import java.io.IOException;
import java.util.Arrays;
public class GoogleLoginService extends Service {
private static final String TAG = "GmsLoginService";
private static final String TAG = "GmsAuthLoginSvc";
private String accountType;

View File

@ -23,7 +23,7 @@ import android.util.Log;
import java.io.IOException;
public class CheckinService extends IntentService {
private static final String TAG = "GmsCheckinService";
private static final String TAG = "GmsCheckinSvc";
public CheckinService() {
super(TAG);

View File

@ -23,7 +23,7 @@ import android.os.Build;
import android.util.Log;
public class PushRegisterService extends IntentService {
private static final String TAG = "GmsGcmRegisterService";
private static final String TAG = "GmsGcmRegisterSvc";
public PushRegisterService() {
super(TAG);

View File

@ -0,0 +1,33 @@
/*
* Copyright 2013-2015 µg Project Team
*
* 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 org.microg.gms.icing;
import android.util.Log;
import com.google.android.gms.appdatasearch.UsageInfo;
import com.google.android.gms.appdatasearch.internal.ILightweightAppDataSearch;
import com.google.android.gms.appdatasearch.internal.ILightweightAppDataSearchCallbacks;
import java.util.Arrays;
public class LightweightAppDataSearchImpl extends ILightweightAppDataSearch.Stub {
private static final String TAG = "GmsIcingLightSearchImpl";
public void view(ILightweightAppDataSearchCallbacks callbacks, String packageName, UsageInfo[] usageInfos) {
Log.d(TAG, "view: " + Arrays.toString(usageInfos));
}
}

View File

@ -0,0 +1,46 @@
/*
* Copyright 2013-2015 µg Project Team
*
* 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 org.microg.gms.icing;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.RemoteException;
import android.util.Log;
import com.google.android.gms.common.internal.IGmsCallbacks;
import org.microg.gms.AbstractGmsServiceBroker;
public class LightweightIndexService extends Service {
private static final String TAG = "GmsIcingLightIndexSvc";
private LightweightAppDataSearchImpl appDataSearch = new LightweightAppDataSearchImpl();
private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker() {
@Override
public void getLightweightAppDataSearchService(IGmsCallbacks callback, int versionCode,
String packageName) throws RemoteException {
Log.d(TAG, "bound by: " + packageName);
callback.onPostInitComplete(0, appDataSearch.asBinder(), null);
}
};
@Override
public IBinder onBind(Intent intent) {
return broker.asBinder();
}
}

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.google.android.location.internal;
package org.microg.gms.location;
import android.app.Service;
import android.content.Intent;
@ -31,7 +31,7 @@ import org.microg.gms.location.GoogleLocationManagerServiceImpl;
import static org.microg.gms.common.Constants.ACTION_GMS_LOCATION_MANAGER_SERVICE_START;
public class GoogleLocationManagerService extends Service {
private static final String TAG = "GmsLMS";
private static final String TAG = "GmsLocManagerSvc";
private GoogleLocationManagerServiceImpl impl = new GoogleLocationManagerServiceImpl(this);
private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker() {

View File

@ -39,7 +39,7 @@ import com.google.android.gms.maps.model.LatLngBounds;
import java.util.List;
public class GoogleLocationManagerServiceImpl extends IGoogleLocationManagerService.Stub {
private static final String TAG = "GmsLMSImpl";
private static final String TAG = "GmsLocManagerSvcImpl";
private final Context context;
private GoogleLocationManager locationManager;

View File

@ -26,7 +26,7 @@ import com.google.android.gms.location.ILocationListener;
import com.google.android.gms.location.LocationRequest;
public class LocationRequestHelper {
public static final String TAG = "GmsLocationRequestHelper";
public static final String TAG = "GmsLocRequestHelper";
private final Context context;
public final LocationRequest locationRequest;
public final boolean hasFinePermission;
@ -90,10 +90,7 @@ public class LocationRequestHelper {
}
lastReport = location;
numReports++;
if (numReports >= locationRequest.getNumUpdates()) {
return false;
}
return true;
return numReports < locationRequest.getNumUpdates();
}
@Override

View File

@ -29,7 +29,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
public class RealLocationProvider {
public static final String TAG = "GmsRealLocationProvider";
public static final String TAG = "GmsLocProviderReal";
private Location lastLocation;
private LocationManager locationManager;
private String name;

View File

@ -0,0 +1,32 @@
/*
* Copyright 2013-2015 µg Project Team
*
* 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 org.microg.gms.location;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class ReportingAndroidService extends Service {
private static final String TAG = "GmsLocReportingSvc";
@Override
public IBinder onBind(Intent intent) {
Log.d(TAG, "onBind: " + intent);
return null;
}
}

View File

@ -44,7 +44,7 @@ import org.oscim.tiling.source.oscimap4.OSciMap4TileSource;
import java.util.HashMap;
public class BackendMap implements ItemizedLayer.OnItemGestureListener<MarkerItem> {
private final static String TAG = "GmsBackendMap";
private final static String TAG = "GmsMapBackend";
private final Context context;
private final MapView mapView;

View File

@ -21,8 +21,6 @@ import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
public class ResourceBitmapDescriptor extends AbstractBitmapDescriptor {
private static final String TAG = ResourceBitmapDescriptor.class.getName();
private int resourceId;
public ResourceBitmapDescriptor(int resourceId) {

View File

@ -29,7 +29,7 @@ import org.oscim.core.MapPosition;
import org.oscim.map.Map;
public class CameraUpdateFactoryImpl extends ICameraUpdateFactoryDelegate.Stub {
private static final String TAG = CameraUpdateFactoryImpl.class.getName();
private static final String TAG = "GmsMapCamUpdateFactory";
@Override
public IObjectWrapper zoomIn() throws RemoteException {

View File

@ -36,7 +36,7 @@ import org.oscim.layers.marker.MarkerSymbol;
import org.oscim.map.Map;
public class MarkerImpl extends IMarkerDelegate.Stub implements Markup {
private static final String TAG = MarkerImpl.class.getName();
private static final String TAG = "GmsMapMarkerImpl";
private final String id;
private final MarkerOptions options;

View File

@ -0,0 +1,32 @@
/*
* Copyright 2013-2015 µg Project Team
*
* 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 org.microg.gms.mdm;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class NetworkQualityService extends Service {
private static final String TAG = "GmsMdmQualitySvc";
@Override
public IBinder onBind(Intent intent) {
Log.d(TAG, "onBind: " + intent);
return null;
}
}

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.google.android.gms.people.service;
package org.microg.gms.people;
import android.app.Service;
import android.content.Intent;
@ -26,12 +26,11 @@ import android.util.Log;
import com.google.android.gms.common.internal.IGmsCallbacks;
import org.microg.gms.AbstractGmsServiceBroker;
import org.microg.gms.people.service.PeopleServiceImpl;
import static org.microg.gms.common.Constants.ACTION_GMS_PEOPLE_SERVICE_START;
public class PeopleService extends Service {
private static final String TAG = "GmsPeopleService";
private static final String TAG = "GmsPeopleSvc";
private PeopleServiceImpl impl = new PeopleServiceImpl(this);
private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker() {

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.microg.gms.people.service;
package org.microg.gms.people;
import android.content.Context;
import android.os.Binder;

View File

@ -0,0 +1,54 @@
/*
* Copyright 2013-2015 µg Project Team
*
* 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 org.microg.gms.settings;
import android.content.ContentProvider;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
public class GoogleSettingsProvider extends ContentProvider {
@Override
public boolean onCreate() {
return false;
}
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
return null;
}
@Override
public String getType(Uri uri) {
return null;
}
@Override
public Uri insert(Uri uri, ContentValues values) {
return null;
}
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
return 0;
}
@Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
return 0;
}
}

View File

@ -0,0 +1,32 @@
/*
* Copyright 2013-2015 µg Project Team
*
* 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 org.microg.gms.wearable;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class WearableService extends Service {
private static final String TAG = "GmsWearSvc";
@Override
public IBinder onBind(Intent intent) {
Log.d(TAG, "onBind: " + intent);
return null;
}
}