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 @@
-