summaryrefslogtreecommitdiff
path: root/location/lib/java
diff options
context:
space:
mode:
Diffstat (limited to 'location/lib/java')
-rw-r--r--location/lib/java/com/android/location/provider/ActivityChangedEvent.java57
-rw-r--r--location/lib/java/com/android/location/provider/ActivityRecognitionEvent.java71
-rw-r--r--location/lib/java/com/android/location/provider/ActivityRecognitionProvider.java133
-rw-r--r--location/lib/java/com/android/location/provider/ActivityRecognitionProviderClient.java76
-rw-r--r--location/lib/java/com/android/location/provider/ActivityRecognitionProviderWatcher.java90
5 files changed, 0 insertions, 427 deletions
diff --git a/location/lib/java/com/android/location/provider/ActivityChangedEvent.java b/location/lib/java/com/android/location/provider/ActivityChangedEvent.java
deleted file mode 100644
index 843dd670315a..000000000000
--- a/location/lib/java/com/android/location/provider/ActivityChangedEvent.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * 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.android.location.provider;
-
-import android.annotation.NonNull;
-
-import java.security.InvalidParameterException;
-import java.util.List;
-
-/**
- * A class representing an event for Activity changes.
- * @hide
- */
-public class ActivityChangedEvent {
- private final List<ActivityRecognitionEvent> mActivityRecognitionEvents;
-
- public ActivityChangedEvent(List<ActivityRecognitionEvent> activityRecognitionEvents) {
- if (activityRecognitionEvents == null) {
- throw new InvalidParameterException(
- "Parameter 'activityRecognitionEvents' must not be null.");
- }
-
- mActivityRecognitionEvents = activityRecognitionEvents;
- }
-
- @NonNull
- public Iterable<ActivityRecognitionEvent> getActivityRecognitionEvents() {
- return mActivityRecognitionEvents;
- }
-
- @Override
- public String toString() {
- StringBuilder builder = new StringBuilder("[ ActivityChangedEvent:");
-
- for (ActivityRecognitionEvent event : mActivityRecognitionEvents) {
- builder.append("\n ");
- builder.append(event.toString());
- }
- builder.append("\n]");
-
- return builder.toString();
- }
-}
diff --git a/location/lib/java/com/android/location/provider/ActivityRecognitionEvent.java b/location/lib/java/com/android/location/provider/ActivityRecognitionEvent.java
deleted file mode 100644
index e54dea40d690..000000000000
--- a/location/lib/java/com/android/location/provider/ActivityRecognitionEvent.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * 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.android.location.provider;
-
-/**
- * A class that represents an Activity Recognition Event.
- * @hide
- */
-public class ActivityRecognitionEvent {
- private final String mActivity;
- private final int mEventType;
- private final long mTimestampNs;
-
- public ActivityRecognitionEvent(String activity, int eventType, long timestampNs) {
- mActivity = activity;
- mEventType = eventType;
- mTimestampNs = timestampNs;
- }
-
- public String getActivity() {
- return mActivity;
- }
-
- public int getEventType() {
- return mEventType;
- }
-
- public long getTimestampNs() {
- return mTimestampNs;
- }
-
- @Override
- public String toString() {
- String eventString;
- switch (mEventType) {
- case ActivityRecognitionProvider.EVENT_TYPE_ENTER:
- eventString = "Enter";
- break;
- case ActivityRecognitionProvider.EVENT_TYPE_EXIT:
- eventString = "Exit";
- break;
- case ActivityRecognitionProvider.EVENT_TYPE_FLUSH_COMPLETE:
- eventString = "FlushComplete";
- break;
- default:
- eventString = "<Invalid>";
- break;
- }
-
- return String.format(
- "Activity='%s', EventType=%s(%s), TimestampNs=%s",
- mActivity,
- eventString,
- mEventType,
- mTimestampNs);
- }
-}
diff --git a/location/lib/java/com/android/location/provider/ActivityRecognitionProvider.java b/location/lib/java/com/android/location/provider/ActivityRecognitionProvider.java
deleted file mode 100644
index 0eff7d3f2014..000000000000
--- a/location/lib/java/com/android/location/provider/ActivityRecognitionProvider.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * 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.android.location.provider;
-
-import com.android.internal.util.Preconditions;
-
-import android.hardware.location.IActivityRecognitionHardware;
-import android.hardware.location.IActivityRecognitionHardwareSink;
-import android.os.RemoteException;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-
-/**
- * A class that exposes {@link IActivityRecognitionHardware} functionality to unbundled services.
- * @hide
- */
-public final class ActivityRecognitionProvider {
- private final IActivityRecognitionHardware mService;
- private final HashSet<Sink> mSinkSet = new HashSet<>();
-
- // the following constants must remain in sync with activity_recognition.h
-
- public static final String ACTIVITY_IN_VEHICLE = "android.activity_recognition.in_vehicle";
- public static final String ACTIVITY_ON_BICYCLE = "android.activity_recognition.on_bicycle";
- public static final String ACTIVITY_WALKING = "android.activity_recognition.walking";
- public static final String ACTIVITY_RUNNING = "android.activity_recognition.running";
- public static final String ACTIVITY_STILL = "android.activity_recognition.still";
- public static final String ACTIVITY_TILTING = "android.activity_recognition.tilting";
-
- // NOTE: when adding an additional EVENT_TYPE_, EVENT_TYPE_COUNT needs to be updated in
- // android.hardware.location.ActivityRecognitionHardware
- public static final int EVENT_TYPE_FLUSH_COMPLETE = 0;
- public static final int EVENT_TYPE_ENTER = 1;
- public static final int EVENT_TYPE_EXIT = 2;
-
- // end constants activity_recognition.h
-
- /**
- * Used to receive Activity-Recognition events.
- */
- public interface Sink {
- void onActivityChanged(ActivityChangedEvent event);
- }
-
- public ActivityRecognitionProvider(IActivityRecognitionHardware service)
- throws RemoteException {
- Preconditions.checkNotNull(service);
- mService = service;
- mService.registerSink(new SinkTransport());
- }
-
- public String[] getSupportedActivities() throws RemoteException {
- return mService.getSupportedActivities();
- }
-
- public boolean isActivitySupported(String activity) throws RemoteException {
- return mService.isActivitySupported(activity);
- }
-
- public void registerSink(Sink sink) {
- Preconditions.checkNotNull(sink);
- synchronized (mSinkSet) {
- mSinkSet.add(sink);
- }
- }
-
- // TODO: if this functionality is exposed to 3rd party developers, handle unregistration (here
- // and in the service) of all sinks while failing to disable all events
- public void unregisterSink(Sink sink) {
- Preconditions.checkNotNull(sink);
- synchronized (mSinkSet) {
- mSinkSet.remove(sink);
- }
- }
-
- public boolean enableActivityEvent(String activity, int eventType, long reportLatencyNs)
- throws RemoteException {
- return mService.enableActivityEvent(activity, eventType, reportLatencyNs);
- }
-
- public boolean disableActivityEvent(String activity, int eventType) throws RemoteException {
- return mService.disableActivityEvent(activity, eventType);
- }
-
- public boolean flush() throws RemoteException {
- return mService.flush();
- }
-
- private final class SinkTransport extends IActivityRecognitionHardwareSink.Stub {
- @Override
- public void onActivityChanged(android.hardware.location.ActivityChangedEvent event) {
- Collection<Sink> sinks;
- synchronized (mSinkSet) {
- if (mSinkSet.isEmpty()) {
- return;
- }
- sinks = new ArrayList<>(mSinkSet);
- }
-
- // translate the event from platform internal and GmsCore types
- ArrayList<ActivityRecognitionEvent> gmsEvents = new ArrayList<>();
- for (android.hardware.location.ActivityRecognitionEvent reportingEvent
- : event.getActivityRecognitionEvents()) {
- ActivityRecognitionEvent gmsEvent = new ActivityRecognitionEvent(
- reportingEvent.getActivity(),
- reportingEvent.getEventType(),
- reportingEvent.getTimestampNs());
- gmsEvents.add(gmsEvent);
- }
- ActivityChangedEvent gmsEvent = new ActivityChangedEvent(gmsEvents);
-
- for (Sink sink : sinks) {
- sink.onActivityChanged(gmsEvent);
- }
- }
- }
-}
diff --git a/location/lib/java/com/android/location/provider/ActivityRecognitionProviderClient.java b/location/lib/java/com/android/location/provider/ActivityRecognitionProviderClient.java
deleted file mode 100644
index 326d901b9daa..000000000000
--- a/location/lib/java/com/android/location/provider/ActivityRecognitionProviderClient.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * 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.android.location.provider;
-
-import android.annotation.NonNull;
-import android.hardware.location.IActivityRecognitionHardware;
-import android.hardware.location.IActivityRecognitionHardwareClient;
-import android.os.Binder;
-import android.os.IBinder;
-import android.os.Process;
-import android.os.RemoteException;
-import android.util.Log;
-
-/**
- * A client class for interaction with an Activity-Recognition provider.
- * @hide
- */
-public abstract class ActivityRecognitionProviderClient {
- private static final String TAG = "ArProviderClient";
-
- protected ActivityRecognitionProviderClient() {}
-
- private IActivityRecognitionHardwareClient.Stub mClient =
- new IActivityRecognitionHardwareClient.Stub() {
- @Override
- public void onAvailabilityChanged(
- boolean isSupported,
- IActivityRecognitionHardware instance) {
- int callingUid = Binder.getCallingUid();
- if (callingUid != Process.SYSTEM_UID) {
- Log.d(TAG, "Ignoring calls from non-system server. Uid: " + callingUid);
- return;
- }
- ActivityRecognitionProvider provider;
- try {
- provider = isSupported ? new ActivityRecognitionProvider(instance) : null;
- } catch (RemoteException e) {
- Log.e(TAG, "Error creating Hardware Activity-Recognition Provider.", e);
- return;
- }
- onProviderChanged(isSupported, provider);
- }
- };
-
- /**
- * Gets the binder needed to interact with proxy provider in the platform.
- */
- @NonNull
- public IBinder getBinder() {
- return mClient;
- }
-
- /**
- * Called when a change in the availability of {@link ActivityRecognitionProvider} is detected.
- *
- * @param isSupported whether the platform supports the provider natively
- * @param instance the available provider's instance
- */
- public abstract void onProviderChanged(
- boolean isSupported,
- ActivityRecognitionProvider instance);
-}
diff --git a/location/lib/java/com/android/location/provider/ActivityRecognitionProviderWatcher.java b/location/lib/java/com/android/location/provider/ActivityRecognitionProviderWatcher.java
deleted file mode 100644
index 42f77b42766f..000000000000
--- a/location/lib/java/com/android/location/provider/ActivityRecognitionProviderWatcher.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * 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.android.location.provider;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.hardware.location.IActivityRecognitionHardware;
-import android.hardware.location.IActivityRecognitionHardwareWatcher;
-import android.os.Binder;
-import android.os.IBinder;
-import android.os.Process;
-import android.os.RemoteException;
-import android.util.Log;
-
-/**
- * A watcher class for Activity-Recognition instances.
- *
- * @deprecated use {@link ActivityRecognitionProviderClient} instead.
- * @hide
- */
-@Deprecated
-public class ActivityRecognitionProviderWatcher {
- private static final String TAG = "ActivityRecognitionProviderWatcher";
-
- private static ActivityRecognitionProviderWatcher sWatcher;
- private static final Object sWatcherLock = new Object();
-
- private ActivityRecognitionProvider mActivityRecognitionProvider;
-
- private ActivityRecognitionProviderWatcher() {}
-
- public static ActivityRecognitionProviderWatcher getInstance() {
- synchronized (sWatcherLock) {
- if (sWatcher == null) {
- sWatcher = new ActivityRecognitionProviderWatcher();
- }
- return sWatcher;
- }
- }
-
- private IActivityRecognitionHardwareWatcher.Stub mWatcherStub =
- new IActivityRecognitionHardwareWatcher.Stub() {
- @Override
- public void onInstanceChanged(IActivityRecognitionHardware instance) {
- int callingUid = Binder.getCallingUid();
- if (callingUid != Process.SYSTEM_UID) {
- Log.d(TAG, "Ignoring calls from non-system server. Uid: " + callingUid);
- return;
- }
-
- try {
- mActivityRecognitionProvider = new ActivityRecognitionProvider(instance);
- } catch (RemoteException e) {
- Log.e(TAG, "Error creating Hardware Activity-Recognition", e);
- }
- }
- };
-
- /**
- * Gets the binder needed to interact with proxy provider in the platform.
- */
- @NonNull
- public IBinder getBinder() {
- return mWatcherStub;
- }
-
- /**
- * Gets an object that supports the functionality of {@link ActivityRecognitionProvider}.
- *
- * @return Non-null value if the functionality is supported by the platform, false otherwise.
- */
- @Nullable
- public ActivityRecognitionProvider getActivityRecognitionProvider() {
- return mActivityRecognitionProvider;
- }
-}