Package com.trx.neon.api.neonMeasurement
Class MeasurementPlugin
- java.lang.Object
-
- android.content.Context
-
- android.content.ContextWrapper
-
- android.view.ContextThemeWrapper
-
- android.app.Activity
-
- com.trx.neon.api.neonMeasurement.MeasurementPlugin
-
- All Implemented Interfaces:
android.content.ComponentCallbacks
,android.content.ComponentCallbacks2
,android.view.KeyEvent.Callback
,android.view.LayoutInflater.Factory
,android.view.LayoutInflater.Factory2
,android.view.View.OnCreateContextMenuListener
,android.view.Window.Callback
public abstract class MeasurementPlugin extends android.app.Activity
Extend the measurement plugin class to add an external measurement logger to the NEON Signal Mapper application. The measurement plugin should define a set of signals it will log and present a settings activity (if necessary) that will store any parameters needed to connect to the external device. When signal mapper begins logging, the plugin should connect to the external device, retrieve measurements, and pass them to signal mapper via the MeasurementCallback.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
MeasurementPlugin.MeasurementCallback
The definition of the Measurement callback that accepts signal measurements
-
Field Summary
Fields Modifier and Type Field Description protected MeasurementPlugin.MeasurementCallback
measurementCallback
The callback that is used to send signal measurements to the NEON Signal Mapper to be displayed and stored.static java.lang.String
SIGNAL_MAPPER_PLUGIN
In order for the Measurement Plugin to be loaded by Signal Mapper, the class that extends measurement plugin must register as an activity in its manifest and have a category intent filter with this string example:protected android.content.Context
signalMapperContext
The context of the parent application - NEON Signal Mapper.-
Fields inherited from class android.app.Activity
DEFAULT_KEYS_DIALER, DEFAULT_KEYS_DISABLE, DEFAULT_KEYS_SEARCH_GLOBAL, DEFAULT_KEYS_SEARCH_LOCAL, DEFAULT_KEYS_SHORTCUT, FOCUSED_STATE_SET, RESULT_CANCELED, RESULT_FIRST_USER, RESULT_OK
-
Fields inherited from class android.content.Context
ACCESSIBILITY_SERVICE, ACCOUNT_SERVICE, ACTIVITY_SERVICE, ALARM_SERVICE, APP_OPS_SERVICE, APP_SEARCH_SERVICE, APPWIDGET_SERVICE, AUDIO_SERVICE, BATTERY_SERVICE, BIND_ABOVE_CLIENT, BIND_ADJUST_WITH_ACTIVITY, BIND_ALLOW_OOM_MANAGEMENT, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BIND_EXTERNAL_SERVICE, BIND_IMPORTANT, BIND_INCLUDE_CAPABILITIES, BIND_NOT_FOREGROUND, BIND_NOT_PERCEPTIBLE, BIND_WAIVE_PRIORITY, BIOMETRIC_SERVICE, BLOB_STORE_SERVICE, BLUETOOTH_SERVICE, BUGREPORT_SERVICE, CAMERA_SERVICE, CAPTIONING_SERVICE, CARRIER_CONFIG_SERVICE, CLIPBOARD_SERVICE, COMPANION_DEVICE_SERVICE, CONNECTIVITY_DIAGNOSTICS_SERVICE, CONNECTIVITY_SERVICE, CONSUMER_IR_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESTRICTED, CROSS_PROFILE_APPS_SERVICE, DEVICE_POLICY_SERVICE, DISPLAY_HASH_SERVICE, DISPLAY_SERVICE, DOMAIN_VERIFICATION_SERVICE, DOWNLOAD_SERVICE, DROPBOX_SERVICE, EUICC_SERVICE, FILE_INTEGRITY_SERVICE, FINGERPRINT_SERVICE, GAME_SERVICE, HARDWARE_PROPERTIES_SERVICE, INPUT_METHOD_SERVICE, INPUT_SERVICE, IPSEC_SERVICE, JOB_SCHEDULER_SERVICE, KEYGUARD_SERVICE, LAUNCHER_APPS_SERVICE, LAYOUT_INFLATER_SERVICE, LOCATION_SERVICE, MEDIA_COMMUNICATION_SERVICE, MEDIA_METRICS_SERVICE, MEDIA_PROJECTION_SERVICE, MEDIA_ROUTER_SERVICE, MEDIA_SESSION_SERVICE, MIDI_SERVICE, MODE_APPEND, MODE_ENABLE_WRITE_AHEAD_LOGGING, MODE_MULTI_PROCESS, MODE_NO_LOCALIZED_COLLATORS, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, NETWORK_STATS_SERVICE, NFC_SERVICE, NOTIFICATION_SERVICE, NSD_SERVICE, PEOPLE_SERVICE, PERFORMANCE_HINT_SERVICE, POWER_SERVICE, PRINT_SERVICE, RECEIVER_VISIBLE_TO_INSTANT_APPS, RESTRICTIONS_SERVICE, ROLE_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, SHORTCUT_SERVICE, STORAGE_SERVICE, STORAGE_STATS_SERVICE, SYSTEM_HEALTH_SERVICE, TELECOM_SERVICE, TELEPHONY_IMS_SERVICE, TELEPHONY_SERVICE, TELEPHONY_SUBSCRIPTION_SERVICE, TEXT_CLASSIFICATION_SERVICE, TEXT_SERVICES_MANAGER_SERVICE, TV_INPUT_SERVICE, UI_MODE_SERVICE, USAGE_STATS_SERVICE, USB_SERVICE, USER_SERVICE, VIBRATOR_MANAGER_SERVICE, VIBRATOR_SERVICE, VPN_MANAGEMENT_SERVICE, WALLPAPER_SERVICE, WIFI_AWARE_SERVICE, WIFI_P2P_SERVICE, WIFI_RTT_RANGING_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
-
-
Constructor Summary
Constructors Constructor Description MeasurementPlugin()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract MeasurementPlugin
GetPlugin()
This is the function that lets NEON Signal Mapper load your plugin.protected android.content.Intent
GetRemoteActivityIntent(java.lang.String packageName, java.lang.String className)
Helper function that will get the proper intent to allow Signal Mapper to start a local activity remotely.protected android.content.Intent
GetRemoteServiceIntent(java.lang.String packageName, java.lang.String className)
Helper function that will get the proper intent to allow Signal Mapper to start a local service remotely.abstract java.lang.String
getSettingsTitle()
If you present a settings activity - this is the string that will be displayedabstract java.util.List<SignalDefinition>
GetSignalDefinitions()
In order for NEON Signal Mapper to properly interpret the signal measurements from the plugin, it needs to have the definitions of all signals being logged in this plugin.abstract boolean
hasSettingsActivity()
If any settings are needed for a connection to your instrument, you can indicate that there is an available settings activity and it will appear as a menu item in NEON Signal Mappervoid
SetCallbacks(MeasurementPlugin.MeasurementCallback onMeasurementAvailable)
NEON Signal Mapper can set the measurement callback here for the plugin to usevoid
SetContext(android.content.Context context)
NEON Signal Mapper can set the context here for the plugin to useabstract void
StartLogging()
When NEON Signal Mapper starts mapping, it will call this function to indicate to the plugin that it should begin sending signal measurements to be displayed and stored.abstract void
StartSettingsActivity()
When the user clicks on your menu item in Signal Mapper, it will start the settings activity by calling this functionabstract void
StopLogging()
When NEON Signal Mapper stops mapping, you should shut down any services that are collecting signal measurements and stop sending them-
Methods inherited from class android.app.Activity
addContentView, attachBaseContext, closeContextMenu, closeOptionsMenu, createPendingResult, dismissDialog, dismissKeyboardShortcutsHelper, dispatchGenericMotionEvent, dispatchKeyEvent, dispatchKeyShortcutEvent, dispatchPopulateAccessibilityEvent, dispatchTouchEvent, dispatchTrackballEvent, dump, enterPictureInPictureMode, enterPictureInPictureMode, findViewById, finish, finishActivity, finishActivityFromChild, finishAffinity, finishAfterTransition, finishAndRemoveTask, finishFromChild, getActionBar, getApplication, getCallingActivity, getCallingPackage, getChangingConfigurations, getComponentName, getContentScene, getContentTransitionManager, getCurrentFocus, getFragmentManager, getIntent, getLastNonConfigurationInstance, getLayoutInflater, getLoaderManager, getLocalClassName, getMaxNumPictureInPictureActions, getMediaController, getMenuInflater, getParent, getParentActivityIntent, getPreferences, getReferrer, getRequestedOrientation, getSearchEvent, getSplashScreen, getSystemService, getTaskId, getTitle, getTitleColor, getVoiceInteractor, getVolumeControlStream, getWindow, getWindowManager, hasWindowFocus, invalidateOptionsMenu, isActivityTransitionRunning, isChangingConfigurations, isChild, isDestroyed, isFinishing, isImmersive, isInMultiWindowMode, isInPictureInPictureMode, isLaunchedFromBubble, isLocalVoiceInteractionSupported, isTaskRoot, isVoiceInteraction, isVoiceInteractionRoot, managedQuery, moveTaskToBack, navigateUpTo, navigateUpToFromChild, onActionModeFinished, onActionModeStarted, onActivityReenter, onActivityResult, onApplyThemeResource, onAttachedToWindow, onAttachFragment, onBackPressed, onChildTitleChanged, onConfigurationChanged, onContentChanged, onContextItemSelected, onContextMenuClosed, onCreate, onCreate, onCreateContextMenu, onCreateDescription, onCreateDialog, onCreateDialog, onCreateNavigateUpTaskStack, onCreateOptionsMenu, onCreatePanelMenu, onCreatePanelView, onCreateThumbnail, onCreateView, onCreateView, onDestroy, onDetachedFromWindow, onEnterAnimationComplete, onGenericMotionEvent, onGetDirectActions, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyShortcut, onKeyUp, onLocalVoiceInteractionStarted, onLocalVoiceInteractionStopped, onLowMemory, onMenuItemSelected, onMenuOpened, onMultiWindowModeChanged, onMultiWindowModeChanged, onNavigateUp, onNavigateUpFromChild, onNewIntent, onOptionsItemSelected, onOptionsMenuClosed, onPanelClosed, onPause, onPerformDirectAction, onPictureInPictureModeChanged, onPictureInPictureModeChanged, onPictureInPictureRequested, onPictureInPictureUiStateChanged, onPostCreate, onPostCreate, onPostResume, onPrepareDialog, onPrepareDialog, onPrepareNavigateUpTaskStack, onPrepareOptionsMenu, onPreparePanel, onProvideAssistContent, onProvideAssistData, onProvideKeyboardShortcuts, onProvideReferrer, onRequestPermissionsResult, onRestart, onRestoreInstanceState, onRestoreInstanceState, onResume, onRetainNonConfigurationInstance, onSaveInstanceState, onSaveInstanceState, onSearchRequested, onSearchRequested, onStart, onStateNotSaved, onStop, onTitleChanged, onTopResumedActivityChanged, onTouchEvent, onTrackballEvent, onTrimMemory, onUserInteraction, onUserLeaveHint, onVisibleBehindCanceled, onWindowAttributesChanged, onWindowFocusChanged, onWindowStartingActionMode, onWindowStartingActionMode, openContextMenu, openOptionsMenu, overridePendingTransition, postponeEnterTransition, recreate, registerActivityLifecycleCallbacks, registerForContextMenu, releaseInstance, removeDialog, reportFullyDrawn, requestDragAndDropPermissions, requestPermissions, requestShowKeyboardShortcuts, requestVisibleBehind, requestWindowFeature, requireViewById, runOnUiThread, setActionBar, setContentTransitionManager, setContentView, setContentView, setContentView, setDefaultKeyMode, setEnterSharedElementCallback, setExitSharedElementCallback, setFeatureDrawable, setFeatureDrawableAlpha, setFeatureDrawableResource, setFeatureDrawableUri, setFinishOnTouchOutside, setImmersive, setInheritShowWhenLocked, setIntent, setLocusContext, setMediaController, setPictureInPictureParams, setProgress, setProgressBarIndeterminate, setProgressBarIndeterminateVisibility, setProgressBarVisibility, setRequestedOrientation, setResult, setResult, setSecondaryProgress, setShowWhenLocked, setTaskDescription, setTheme, setTitle, setTitle, setTitleColor, setTranslucent, setTurnScreenOn, setVisible, setVolumeControlStream, setVrModeEnabled, shouldShowRequestPermissionRationale, shouldUpRecreateTask, showAssist, showDialog, showDialog, showLockTaskEscapeMessage, startActionMode, startActionMode, startActivities, startActivities, startActivity, startActivity, startActivityForResult, startActivityForResult, startActivityFromChild, startActivityFromChild, startActivityFromFragment, startActivityFromFragment, startActivityIfNeeded, startActivityIfNeeded, startIntentSender, startIntentSender, startIntentSenderForResult, startIntentSenderForResult, startIntentSenderFromChild, startIntentSenderFromChild, startLocalVoiceInteraction, startLockTask, startManagingCursor, startNextMatchingActivity, startNextMatchingActivity, startPostponedEnterTransition, startSearch, stopLocalVoiceInteraction, stopLockTask, stopManagingCursor, takeKeyEvents, triggerSearch, unregisterActivityLifecycleCallbacks, unregisterForContextMenu
-
Methods inherited from class android.view.ContextThemeWrapper
applyOverrideConfiguration, getAssets, getResources, getTheme, setTheme
-
Methods inherited from class android.content.ContextWrapper
bindIsolatedService, bindService, bindService, bindServiceAsUser, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingOrSelfUriPermissions, checkCallingPermission, checkCallingUriPermission, checkCallingUriPermissions, checkPermission, checkSelfPermission, checkUriPermission, checkUriPermission, checkUriPermissions, clearWallpaper, createAttributionContext, createConfigurationContext, createContext, createContextForSplit, createDeviceProtectedStorageContext, createDisplayContext, createPackageContext, createWindowContext, createWindowContext, databaseList, deleteDatabase, deleteFile, deleteSharedPreferences, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getAttributionSource, getAttributionTag, getBaseContext, getCacheDir, getClassLoader, getCodeCacheDir, getContentResolver, getDatabasePath, getDataDir, getDir, getDisplay, getExternalCacheDir, getExternalCacheDirs, getExternalFilesDir, getExternalFilesDirs, getExternalMediaDirs, getFilesDir, getFileStreamPath, getMainExecutor, getMainLooper, getNoBackupFilesDir, getObbDir, getObbDirs, getOpPackageName, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getParams, getSharedPreferences, getSystemServiceName, getWallpaper, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, grantUriPermission, isDeviceProtectedStorage, isRestricted, isUiContext, moveDatabaseFrom, moveSharedPreferencesFrom, openFileInput, openFileOutput, openOrCreateDatabase, openOrCreateDatabase, peekWallpaper, registerReceiver, registerReceiver, registerReceiver, registerReceiver, removeStickyBroadcast, removeStickyBroadcastAsUser, revokeUriPermission, revokeUriPermission, sendBroadcast, sendBroadcast, sendBroadcastAsUser, sendBroadcastAsUser, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcastAsUser, sendStickyBroadcast, sendStickyBroadcast, sendStickyBroadcastAsUser, sendStickyOrderedBroadcast, sendStickyOrderedBroadcastAsUser, setWallpaper, setWallpaper, startForegroundService, startInstrumentation, startService, stopService, unbindService, unregisterReceiver, updateServiceGroup
-
Methods inherited from class android.content.Context
getColor, getColorStateList, getDrawable, getString, getString, getSystemService, getText, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, registerComponentCallbacks, sendBroadcastWithMultiplePermissions, unregisterComponentCallbacks
-
-
-
-
Field Detail
-
SIGNAL_MAPPER_PLUGIN
public static final java.lang.String SIGNAL_MAPPER_PLUGIN
In order for the Measurement Plugin to be loaded by Signal Mapper, the class that extends measurement plugin must register as an activity in its manifest and have a category intent filter with this string example:- See Also:
- Constant Field Values
-
signalMapperContext
protected android.content.Context signalMapperContext
The context of the parent application - NEON Signal Mapper. This context can be used to start activities and services from the MeasurementPlugin class.
-
measurementCallback
protected MeasurementPlugin.MeasurementCallback measurementCallback
The callback that is used to send signal measurements to the NEON Signal Mapper to be displayed and stored. This callback will be serviced only when Signal Mapper is actively mapping
-
-
Method Detail
-
GetPlugin
public abstract MeasurementPlugin GetPlugin()
This is the function that lets NEON Signal Mapper load your plugin. You must return your plugin class "return this;"- Returns:
- The measurement plugin
-
GetSignalDefinitions
public abstract java.util.List<SignalDefinition> GetSignalDefinitions()
In order for NEON Signal Mapper to properly interpret the signal measurements from the plugin, it needs to have the definitions of all signals being logged in this plugin.- Returns:
- A list of the signal definitions that are being logged in this plugin
-
StartLogging
public abstract void StartLogging()
When NEON Signal Mapper starts mapping, it will call this function to indicate to the plugin that it should begin sending signal measurements to be displayed and stored. This is the time to start a service that connects to your sensor and begins logging signal measurements via the MeasurementCallback
-
StopLogging
public abstract void StopLogging()
When NEON Signal Mapper stops mapping, you should shut down any services that are collecting signal measurements and stop sending them
-
hasSettingsActivity
public abstract boolean hasSettingsActivity()
If any settings are needed for a connection to your instrument, you can indicate that there is an available settings activity and it will appear as a menu item in NEON Signal Mapper
-
getSettingsTitle
public abstract java.lang.String getSettingsTitle()
If you present a settings activity - this is the string that will be displayed
-
StartSettingsActivity
public abstract void StartSettingsActivity()
When the user clicks on your menu item in Signal Mapper, it will start the settings activity by calling this function
-
GetRemoteServiceIntent
protected android.content.Intent GetRemoteServiceIntent(java.lang.String packageName, java.lang.String className)
Helper function that will get the proper intent to allow Signal Mapper to start a local service remotely. You need to include the package name and name of the service class then you can start a service with signalMapperContext.startService(Intent intent) with this intent. example: Intent intent = GetRemoteServiceIntent("com.example.companyx","com.example.companx.LoggerService"); signalMapperContext.startService(intent);
-
GetRemoteActivityIntent
protected android.content.Intent GetRemoteActivityIntent(java.lang.String packageName, java.lang.String className)
Helper function that will get the proper intent to allow Signal Mapper to start a local activity remotely. You need to include the package name and name of the activity class then it can be started with signalMapperContext.startActivity(Intent intent). example: Intent intent = GetRemoteActivityIntent("com.example.companyx","com.example.companx.SettingsActivity"); signalMapperContext.startActivity(intent);
-
SetContext
public void SetContext(android.content.Context context)
NEON Signal Mapper can set the context here for the plugin to use
-
SetCallbacks
public void SetCallbacks(MeasurementPlugin.MeasurementCallback onMeasurementAvailable)
NEON Signal Mapper can set the measurement callback here for the plugin to use
-
-