diff options
Diffstat (limited to 'location/lib/java')
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; - } -} |