Code Monkey home page Code Monkey logo

airdatabridge's People

Contributors

grazianocapelli avatar jlju avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

airdatabridge's Issues

Add the checkbox setting for automatic connection to ADC

Now the app is set to auto connect / reconnect to the ADC.
We should add the setting to enable / disable this feature. When the feature is disabled, the user should be able to manually connect / disconnect the app to the ADC.

Bug Report - android.os.FileUriExposedException at FragmentLogList_Local.onContextItemSelected:203

android.os.FileUriExposedException:
at android.os.StrictMode.onFileUriExposed (StrictMode.java:1958)
at android.net.Uri.checkFileUriExposed (Uri.java:2356)
at android.content.ClipData.prepareToLeaveProcess (ClipData.java:944)
at android.content.Intent.prepareToLeaveProcess (Intent.java:10492)
at android.content.Intent.prepareToLeaveProcess (Intent.java:10498)
at android.content.Intent.prepareToLeaveProcess (Intent.java:10477)
at android.app.Instrumentation.execStartActivity (Instrumentation.java:1616)
at android.app.Activity.startActivityForResult (Activity.java:4564)
at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult (BaseFragmentActivityJB.java:50)
at android.support.v4.app.FragmentActivity.startActivityForResult (FragmentActivity.java:79)
at android.support.v4.app.ActivityCompatJB.startActivityForResult (ActivityCompatJB.java:30)
at android.support.v4.app.ActivityCompat.startActivityForResult (ActivityCompat.java:146)
at android.support.v4.app.FragmentActivity.startActivityFromFragment (FragmentActivity.java:932)
at android.support.v4.app.FragmentActivity$HostCallbacks.onStartActivityFromFragment (FragmentActivity.java:1047)
at android.support.v4.app.Fragment.startActivity (Fragment.java:944)
at android.support.v4.app.Fragment.startActivity (Fragment.java:933)
at eu.basicairdata.airdatabridge.FragmentLogList_Local.onContextItemSelected (FragmentLogList_Local.java:203)
at android.support.v4.app.Fragment.performContextItemSelected (Fragment.java:2394)
at android.support.v4.app.FragmentManagerImpl.dispatchContextItemSelected (FragmentManager.java:3147)
at android.support.v4.app.FragmentController.dispatchContextItemSelected (FragmentController.java:357)
at android.support.v4.app.FragmentActivity.onMenuItemSelected (FragmentActivity.java:417)
at android.support.v7.app.AppCompatActivity.onMenuItemSelected (AppCompatActivity.java:195)
at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected (WindowCallbackWrapper.java:113)
at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected (WindowCallbackWrapper.java:113)
at com.android.internal.policy.PhoneWindow$PhoneWindowMenuCallback.onMenuItemSelected (PhoneWindow.java:3996)
at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected (MenuBuilder.java:761)
at com.android.internal.view.menu.MenuItemImpl.invoke (MenuItemImpl.java:172)
at com.android.internal.view.menu.MenuBuilder.performItemAction (MenuBuilder.java:908)
at com.android.internal.view.menu.MenuBuilder.performItemAction (MenuBuilder.java:898)
at com.android.internal.view.menu.MenuDialogHelper.onClick (MenuDialogHelper.java:178)
at com.android.internal.app.AlertController$AlertParams$3.onItemClick (AlertController.java:1269)
at android.widget.AdapterView.performItemClick (AdapterView.java:350)
at android.widget.AbsListView.performItemClick (AbsListView.java:1683)
at android.widget.AbsListView$PerformClick.run (AbsListView.java:4094)
at android.widget.AbsListView.onTouchUp (AbsListView.java:6597)
at android.widget.AbsListView.onTouchEvent (AbsListView.java:6344)
at android.widget.ListView.onTouchEvent (ListView.java:1700)
at android.view.View.dispatchTouchEvent (View.java:12540)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3153)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2829)
at android.widget.AbsListView.dispatchTouchEvent (AbsListView.java:6256)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3159)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2844)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3159)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2844)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3159)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2844)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3159)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2844)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3159)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2844)
at com.android.internal.policy.DecorView.superDispatchTouchEvent (DecorView.java:601)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1871)
at android.app.Dialog.dispatchTouchEvent (Dialog.java:918)
at com.android.internal.policy.DecorView.dispatchTouchEvent (DecorView.java:563)
at android.view.View.dispatchPointerEvent (View.java:12788)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:5675)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (ViewRootImpl.java:5470)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4963)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:5016)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4982)
at android.view.ViewRootImpl$AsyncInputStage.forward (ViewRootImpl.java:5119)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4990)
at android.view.ViewRootImpl$AsyncInputStage.apply (ViewRootImpl.java:5176)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4963)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:5016)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4982)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4990)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4963)
at android.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:7742)
at android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:7682)
at android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:7643)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:7853)
at android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:197)
at android.os.MessageQueue.nativePollOnce (Native Method)
at android.os.MessageQueue.next (MessageQueue.java:325)
at android.os.Looper.loop (Looper.java:142)
at android.app.ActivityThread.main (ActivityThread.java:6944)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)

Add the possibility to rename the local files

The remote files must be 8 chars lengthed (and CAP_CHARACTERS), but the local files, in Android filesystem, can be longer and contain more characters, spaces and so on.

It would be fine to have the ability to rename the downloaded files, in order to give to the user the possibility to type a better description of every local file.

Add the ability to record directly to the local Android device

It is not Always needed (nor useful) to record to the remote SD at a high frequency;
Sometimes the user could only need to record the displayed data (at low rate, like 2 - 5 Hz).
I imagine a biker with the android device on the handlebars, for example.
In this case a local recording would be very useful.

PROS:

  • A SDCard is not needed in the remote device
  • Significantly smaller log files
  • It is not necessary to download the recorded file from the remote SD

CONS:

  • Low frequency rate (the limit is the BT baud rate and the $DTA string length)
  • The recording is stopped when the ADC is disconnected to the Android device

Inclusion in F-Droid

Hi,

Since this app is GNU GPLv3 licensed, are you considering the fact to add it to F-Droid? There is a strong community behind, that do not use Google Play nor anything else, except F-Droid.

You can find some documentation here.

Otherwise, if you don't want to work on the inclusion of this app by yourself, would it be ok for you if someone else do it for you?

Implement the time synchronization between ADC and Android device

We should implement a synchronization method between the ADC time and the time of Android device (usually the smartphone time is synchronized with the NTP).
An option to sync the time on app start should be present in the Settings.

When the app starts, it sends the Android time (NTP time) to the ADC. The ADC will update its time as requested.

I think 1 second of accuracy is enough for now. We'll implement a more accurate method when needed.

Add an About screen

An About screen should be added, showing:

  • Icon
  • App name
  • App version
  • Copyright
  • A brief description of the application
  • The license (GPL v3).
  • Close button :)

This screen will be accessible from the main menu.

Add the setting to choose the remote Bluetooth device to connect to

Now the app searches the HC-05 Bluetooth paired device and connects to it.
We should give to the user the possibility to change the device, in order to allow to use different BT devices (like HC-06, or BlueSMIRF) or to change the BT device name.

The natural solution is to add a setting with the device selection.
Ideally the selection should show the list of the paired BT devices, but we could start with a simpler EditText preference.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.