diff --git a/extern/GmsApi b/extern/GmsApi index 0b4f43c6..bfae24a1 160000 --- a/extern/GmsApi +++ b/extern/GmsApi @@ -1 +1 @@ -Subproject commit 0b4f43c6a6a091dbdeb0ec544d533373a83ea319 +Subproject commit bfae24a17c11d9633fdce4f9b82dff0da4769f8d diff --git a/play-services-core/src/main/AndroidManifest.xml b/play-services-core/src/main/AndroidManifest.xml index b41299fe..5f142926 100644 --- a/play-services-core/src/main/AndroidManifest.xml +++ b/play-services-core/src/main/AndroidManifest.xml @@ -527,13 +527,17 @@ + + + + + - diff --git a/play-services-core/src/main/java/org/microg/gms/maps/BackendMap.java b/play-services-core/src/main/java/org/microg/gms/maps/BackendMap.java index 421b9495..a1cd928f 100644 --- a/play-services-core/src/main/java/org/microg/gms/maps/BackendMap.java +++ b/play-services-core/src/main/java/org/microg/gms/maps/BackendMap.java @@ -23,6 +23,7 @@ import android.graphics.Paint; import android.os.RemoteException; import android.util.Log; import android.view.View; +import android.widget.FrameLayout; import com.google.android.gms.maps.internal.ISnapshotReadyCallback; import com.google.android.gms.maps.model.CameraPosition; @@ -57,6 +58,7 @@ public class BackendMap implements ItemizedLayer.OnItemGestureListener markupMap = new HashMap(); private final List drawableMarkups = new ArrayList(); @@ -71,6 +73,8 @@ public class BackendMap implements ItemizedLayer.OnItemGestureListener(map(), new MarkerSymbol( new AndroidBitmap(BitmapFactory.decodeResource(getContext().getResources(), R.drawable.nop)), 0.5F, 1))); diff --git a/play-services-core/src/main/java/org/microg/gms/maps/ContainerLayout.java b/play-services-core/src/main/java/org/microg/gms/maps/ContainerLayout.java new file mode 100644 index 00000000..772aa7f2 --- /dev/null +++ b/play-services-core/src/main/java/org/microg/gms/maps/ContainerLayout.java @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2013-2016 microG 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.maps; + +import android.content.Context; +import android.widget.FrameLayout; + +import org.oscim.utils.ThreadUtils; + +public class ContainerLayout extends FrameLayout { + public ContainerLayout(Context context) { + super(context); + } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + ThreadUtils.init(); + super.onLayout(changed, left, top, right, bottom); + } +} diff --git a/play-services-core/src/main/java/org/microg/gms/maps/GoogleMapImpl.java b/play-services-core/src/main/java/org/microg/gms/maps/GoogleMapImpl.java index f60fab87..1b69f40f 100644 --- a/play-services-core/src/main/java/org/microg/gms/maps/GoogleMapImpl.java +++ b/play-services-core/src/main/java/org/microg/gms/maps/GoogleMapImpl.java @@ -41,6 +41,10 @@ import com.google.android.gms.maps.internal.IGoogleMapDelegate; import com.google.android.gms.maps.internal.IInfoWindowAdapter; import com.google.android.gms.maps.internal.ILocationSourceDelegate; import com.google.android.gms.maps.internal.IOnCameraChangeListener; +import com.google.android.gms.maps.internal.IOnCameraIdleListener; +import com.google.android.gms.maps.internal.IOnCameraMoveCanceledListener; +import com.google.android.gms.maps.internal.IOnCameraMoveListener; +import com.google.android.gms.maps.internal.IOnCameraMoveStartedListener; import com.google.android.gms.maps.internal.IOnInfoWindowClickListener; import com.google.android.gms.maps.internal.IOnMapClickListener; import com.google.android.gms.maps.internal.IOnMapLoadedCallback; @@ -101,10 +105,12 @@ public class GoogleMapImpl extends IGoogleMapDelegate.Stub private IOnMyLocationChangeListener onMyLocationChangeListener; private Criteria criteria; + private Location myLocation; private LocationListener listener = new LocationListener() { @Override public void onLocationChanged(Location location) { // TODO: Actually do my location overlay + myLocation = location; if (onMyLocationChangeListener != null && location != null) { try { onMyLocationChangeListener.onMyLocationChanged(ObjectWrapper.wrap(location)); @@ -464,6 +470,7 @@ public class GoogleMapImpl extends IGoogleMapDelegate.Stub @Override public IUiSettingsDelegate getUiSettings() throws RemoteException { + Log.d(TAG, "getUiSettings: "+uiSettings); return uiSettings; } @@ -550,6 +557,30 @@ public class GoogleMapImpl extends IGoogleMapDelegate.Stub } }, 5000); } + + @Override + public void setCameraMoveStartedListener(IOnCameraMoveStartedListener listener) throws RemoteException { + Log.d(TAG, "unimplemented Method: setCameraMoveStartedListener"); + + } + + @Override + public void setCameraMoveListener(IOnCameraMoveListener listener) throws RemoteException { + Log.d(TAG, "unimplemented Method: setCameraMoveListener"); + + } + + @Override + public void setCameraMoveCanceledListener(IOnCameraMoveCanceledListener listener) throws RemoteException { + Log.d(TAG, "unimplemented Method: setCameraMoveCanceledListener"); + + } + + @Override + public void setCameraIdleListener(IOnCameraIdleListener listener) throws RemoteException { + Log.d(TAG, "unimplemented Method: setCameraIdleListener"); + + } /* Misc @@ -575,7 +606,7 @@ public class GoogleMapImpl extends IGoogleMapDelegate.Stub @Override public Location getMyLocation() throws RemoteException { - return null; + return myLocation; } @Override diff --git a/play-services-core/src/main/java/org/microg/gms/maps/MapFragmentImpl.java b/play-services-core/src/main/java/org/microg/gms/maps/MapFragmentImpl.java index a36d8f2d..49a07c16 100644 --- a/play-services-core/src/main/java/org/microg/gms/maps/MapFragmentImpl.java +++ b/play-services-core/src/main/java/org/microg/gms/maps/MapFragmentImpl.java @@ -20,6 +20,7 @@ import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Handler; +import android.os.Looper; import android.os.Parcel; import android.os.RemoteException; import android.util.Log; @@ -39,16 +40,16 @@ public class MapFragmentImpl extends IMapFragmentDelegate.Stub { private GoogleMapImpl map; private GoogleMapOptions options; - private Context context; + private Activity activity; public MapFragmentImpl(Activity activity) { - context = activity; + this.activity = activity; } private GoogleMapImpl myMap() { if (map == null) { Log.d(TAG, "GoogleMap instance created"); - LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); map = GoogleMapImpl.create(inflater.getContext(), options); } return map; @@ -139,7 +140,7 @@ public class MapFragmentImpl extends IMapFragmentDelegate.Stub { @Override public void getMapAsync(final IOnMapReadyCallback callback) throws RemoteException { - new Handler(context.getMainLooper()).post(new Runnable() { + new Handler(activity.getMainLooper()).post(new Runnable() { @Override public void run() { try { diff --git a/play-services-core/src/main/java/org/microg/gms/ui/GcmAppFragment.java b/play-services-core/src/main/java/org/microg/gms/ui/GcmAppFragment.java index a8887f1b..388aace7 100644 --- a/play-services-core/src/main/java/org/microg/gms/ui/GcmAppFragment.java +++ b/play-services-core/src/main/java/org/microg/gms/ui/GcmAppFragment.java @@ -74,6 +74,7 @@ public class GcmAppFragment extends ResourceSettingsFragment { }); view.setClickable(true); } catch (Exception e) { + appName = packageName; ((TextView) activity.findViewById(R.id.app_name)).setText(packageName); } } diff --git a/play-services-core/src/main/java/org/microg/gms/wallet/OwServiceImpl.java b/play-services-core/src/main/java/org/microg/gms/wallet/OwServiceImpl.java new file mode 100644 index 00000000..7651b47e --- /dev/null +++ b/play-services-core/src/main/java/org/microg/gms/wallet/OwServiceImpl.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2013-2016 microG 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.wallet; + +import android.content.Context; +import android.os.Parcel; +import android.os.RemoteException; +import android.util.Log; + +import com.google.android.gms.wallet.internal.IOwService; + +public class OwServiceImpl extends IOwService.Stub { + private static final String TAG = "GmsWalletOwSvc"; + + public OwServiceImpl(Context context) { + } + + @Override + public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws RemoteException { + if (super.onTransact(code, data, reply, flags)) return true; + Log.d(TAG, "onTransact [unknown]: " + code + ", " + data + ", " + flags); + return false; + } +} diff --git a/play-services-core/src/main/java/org/microg/gms/wallet/PaymentService.java b/play-services-core/src/main/java/org/microg/gms/wallet/PaymentService.java new file mode 100644 index 00000000..3b5056f7 --- /dev/null +++ b/play-services-core/src/main/java/org/microg/gms/wallet/PaymentService.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2013-2016 microG 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.wallet; + +import android.os.RemoteException; +import android.util.Log; + +import com.google.android.gms.common.internal.GetServiceRequest; +import com.google.android.gms.common.internal.IGmsCallbacks; + +import org.microg.gms.BaseService; +import org.microg.gms.common.GmsService; + +public class PaymentService extends BaseService { + public PaymentService() { + super("GmsWalletPaySvc", GmsService.WALLET); + } + + @Override + public void handleServiceRequest(IGmsCallbacks callback, GetServiceRequest request, GmsService service) throws RemoteException { + callback.onPostInitComplete(0, new OwServiceImpl(this), null); + } +} diff --git a/vtm-microg-theme/resources/assets/styles/microg.xml b/vtm-microg-theme/resources/assets/styles/microg.xml index 25b7c080..4fd884f6 100644 --- a/vtm-microg-theme/resources/assets/styles/microg.xml +++ b/vtm-microg-theme/resources/assets/styles/microg.xml @@ -18,13 +18,12 @@ stroke-width="5.0"/> + size="17" stroke="#eeeeee" stroke-width="5.0"/> + size="16" stroke="#eeeeee" stroke-width="5.0"/> @@ -481,48 +480,48 @@ + stroke="#EAEAEA" stroke-width="5.0"/> - + + stroke="#EAEAEA" stroke-width="5.0"/> - + + stroke="#EAEAEA" stroke-width="5.0"/> + stroke="#EAEAEA" stroke-width="5.0"/> - + + stroke="#EAEAEA" stroke-width="5.0"/> + stroke="#EAEAEA" stroke-width="5.0"/> @@ -539,7 +538,7 @@ -