GithubHelp home page GithubHelp logo

legacy-boscloner-android-app's People

Contributors

aleksamarkoni avatar boscloner avatar

Watchers

 avatar  avatar

Forkers

ll0rd

legacy-boscloner-android-app's Issues

RFID Badge Type Entry on App Launch

On App Launch, the terminal view shows:

** RFID Badge Type: rfid badge type **

This needs to accurately reflect the default setting inside of the "Settings" section.

Terminal View Does Not Populate / Show Data On Launch

When Launching the app, the terminal view does not populate with the initial text that should appear when a user launches the app (Boscloner, ready to receive data, RFID Badge Type, etc...)

It's a blank screen until toggling the autoclone, then it appears all at once, and out of order.

blank-terminal-launch

terminal-view-blank

COSMETIC - Custom Write Screen Dialog Box

After selecting "Custom Write", the dialog box pops up. The pre-filled font inside of the text field current says, "Hint".

This field needs to instead show, "1A:2B:3C:4D:5D"

Home fragment problems

There was a problem when you go to the home fragment page, from some other fragment (history, settings) where when you return to home fragment, the app will send the autoclone message to the device one more time. That should be fixed now, so there will be no more auto clone messages inside the UI that.

Automatically re-establish BT connection in the background

While the app has the ability to re-establish the Bluetooth connection (after it has been lost) while sitting at the home screen, it doesn't appear to have this ability while the user is at the History screen.

We need to make sure that the connectivity state, and automatic restoration of the the connectivity state is handled in the background at all times...regardless of the screen/page the user is on, and regardless of if the app is open, background, the phone's screen is turned off, or the user is at the lock screen. The Bluetooth state should always be managed, and appropriately logged via push/local notifications.

COSMETIC - Date Format in "History"

The date format in history view should be truncated so that it does not take up multiple lines.

The time and date should be formatted as such:
YYYY-MM-DD HH:MM:SS

Y = Year
M = Month
D = Day
H = Hour
M = Minute
S = Second

So, a proper timestamp would look something like:
2018-06-06 15:45:12

When switching from the History page to the Home page, an alert is given...

This one is a bit odd.

If connected to the Boscloner and the user goes into the History screen, then switches back over to the Home screen...once the user switches back to the home screen, an alert sound is heard.

It doesnt appear that anything is being sent to the board during this...so I have no idea why it makes an alert sound. I can switch back and forth between History and Home as many times as I'd like, and the same alert is given indefinitely.

Something about switching between those screens seems to trigger some kind of alert, but i don't know what it is exactly. Nothing shows up on the app, but my phone vibrates and makes an alert sound.

Colors of Text and Icons - From Purple/blue to Black

To add uniformity across the iOS and Android versions, please replace all instances of that purple/blue color with Black.

For example, when inside the Boscloner Android app, the following elements are purple/blue that need to be changed to black:

  • The top status bar

  • The "Custom Write" label text on the home screen

  • The "AutoClone" label text on the home screen

  • The "Tab Bar" on the bottom of the screen that has "Home, History, and Settings". The selected item is always purple, please change to black.

  • The "Share" and "Delete" label text on the "History" page need to be removed altogether and only the icons should remain. (After deleting the text labels there, please slightly increase the size of the icons to make them easier to tap)

Write more than 20 character over BLE Glitch

As we discovered, we need to be able to write strings longer than the 20 character "limit" to the Boscloner board.

As you implement the fix, remember to remove the string we added:
(item.deviceMacAddress.replaceAll(":", "" )

This is on line 240 of MainActivity.java at the time of writing.

Once we resolve the 20 character issue, we will no longer need to remove the colon from the string

In greater context, it is part of the following method:
@OverRide
public void onListFragmentInteraction(HistoryItem item) {
Timber.d("On item selected " + item.deviceMacAddress + " " + item.localDateTime);
sendWriteInstructionToService(item.deviceMacAddress.replaceAll(":", "" ), true);
}
}

Excessive Notifications when the Boscloner has Disconnected

Once the Boscloner is disconnected from the app, the user receives a notification to alert them that the Boscloner is no longer connected.

However, every few seconds, the user receives a new alert/notification that the Boscloner is disconnected. This is not an ideal experience.

The Boscloner app seems to attempt reconnection every few seconds (This is good!), but the notification should only arrive once when the connection is lost. This notification should not be repeated on every reconnect attempt.

App Icon on Device

After downloading the app from the Google Play store, the app icon on the Android device is missing the Boscloner icon.

The icon is the default Android picture and the app's text shows: "Boscloner V2"

The Boscloner sheep logo needs to be the icon's image. Additionally, the App's title on the device should read "Boscloner"

AutoClone Button Acts Odd when App Launches

When the app launches, it takes toggling the autoclone on and off a few times in order for anything to be displayed on the screen.

Also, when pressing autoclone a few times, it doesn't start actually sending commands to the Boscloner until the 2nd or third attempt to toggle it.

This issue also seems related to the terminal view not displaying the initial text (and only a blank screen) when the app first launches, and the only remedy is to toggle autoclone several times to kick it into gear.

Attempting to Connect to Boscloner - Loading/Connection Screen

We need to have a screen that appears to the user when the Boscloner is in a disconnected state.

For example, if i were to launch the app on iOS and the Boscloner board was not in range or was powered off, the iOS app would show the following screen to me letting me know that the Boscloner is not yet connected:
image-1-2

This same screen will occur at any point the Boscloner becomes disconnected / powered off while the user is using the app.

Note that while some of the functions have visually disappeared from the screen while in this disconnected state, the history screen and the settings bars are still available. The user can still visit the history screen and view the stored data, but they will not be able to send any WRITE commands to the Boscloner board until the bluetooth connection is established again.

Write From History Confirmation Box - Cancel Button

When in the history screen and you select an entry to write from, a dialog box pops up.

This dialog box has an "OK" option, but should also have a "Cancel" option. I know tapping outside of the popup box accomplishes this, but it isn't very clear.

Please add a cancel button to the popup box.

Also, when selecting a badge from history, the keyboard automatically pops up. Can we stop the keyboard from automatically popping up? Unless the user taps in the box to 'edit' the badge, the keyboard does not need to appear.

History View: Change "Custom Write and AutoClone" Options with Share and Delete (See Screenshots)

When the user switches to the History page, the bar that provides the user with Custom Write and AutoClone should disappear from view. That bar should only be available on the Home screen.

This bar needs to be replaced with two options:

  • Share (to share the history file via Text Message, Email, Local File Store, etc)
  • Delete (Deletes all History Files. If the user selects the delete button, a popup box will appear asking the user if they are sure that they want to continue)

Please see the iOS screenshots for reference:

image-1-3

image-1-3

image-1-3

History View Table, switch direction and order

For the history view:

The newest/most recent captured badge should always appear at the top of the screen.

If the History page looked like this:

Badge1 (Most Recent Capture)
Badge2 (Captured 2 minutes ago)
Badge3 (Captured 3 minutes ago)
Badge4 (Captured 4 minutes ago)

Then, the User captured another badge...the history page would then look like this:

Badge0 (Most Recent Capture)
Badge1 (Captured 1 minutes ago)
Badge2 (Captured 2 minutes ago)
Badge3 (Captured 3 minutes ago)
Badge4 (Captured 4 minutes ago)

Custom Write Dialog Box - Text Changes

Please modify the text of the Custom Write Dialog box to mirror how the iOS version appears (as far as text content is concerned)

Also, please add a 'Cancel' button to this prompt.

See attached image for reference.
img_2227

Duplicate Text Fields in Terminal View when Toggling AutoClone

When toggling autoclone on or off, the terminal view reflects Duplicate entries (2x) for the changed status as such:

** AutoClone Status: Disabled **
** AutoClone Status: Disabled **

or

** AutoClone Status: Enabled **
** AutoClone Status: Enabled **

When toggling autoclone, this entry should only be present once per toggle.

Proper Push Notifications

We need to be able to send local push notifications after any of the following events occur:

  • Badge Captured/Read
  • Boscloner connection lost
  • Boscloner connection restored
    (All of these are implemented in the iOS code)

Notifications do not need to appear to the user while they are actively using the Boscloner app in the foreground. However, when the app is in the background, or the user has their screen off, or they are at the lock screen, this is when the push notifications need to be visible to the user, followed by the default notification sound set by their mobile device.

Check Connection Status to Bluetooth Prior to Performing Write Operations

Let's add a check to ensure that the bluetooth connection is established prior to allowing the user to send write commands.

In the the iOS app, this is achieved by checking the connected state when a user taps on things like writing from history, autoclone toggle, or custom write:

@IBAction func customWriteIcon(_ sender: UIButton) {
    if connectedPeripheral?.state != CBPeripheralState.connected {
    notConnectedWarning()
    } else {
        showInputDialog()
    }
}

Essentially, if the device is connected, the operation continues. If it is not connected, a popup dialog box appears to the user and states that the Boscloner is not connected. Please view the iOS Swift code below on the box that pops up when the user tries to perform an action while in a disconnected state:

// BLE Device Not Connected Dialog Alert Pop-up
func notConnectedWarning() {
let alertController = UIAlertController(title: "Boscloner Unavailable (BLE)", message: "Ensure the Boscloner boards are powered on and within range.", preferredStyle: .alert)

    //the cancel action doing nothing
    let cancelAction = UIAlertAction(title: "OK", style: .cancel) { (_) in }
    
    //adding the action to dialogbox
    alertController.addAction(cancelAction)
    
    //finally presenting the dialog box
    self.present(alertController, animated: true, completion: nil)
}

Fix Top Bar / Title - Mirror How it Looks in iOS

The iOS app has a nice title/banner at the top of the screen. I'd like to have the Android app mirror that appearance as much as possible. Currently, the title bar is very flat and the logo is nowhere to be seen.

Set Variable to "0000000000" After a Write from History or Custom Write is performed

If you were to type into Custom Write:
0102030405

That string would appropriately be sent to the Boscloner.

If you were to then open Custom Write, but submit it while blank/empty, it would send the previous string to the board, but would say, "Custom ID Written: " in the Home Screen / Terminal view.

If we set this string to 10 zeros, "0000000000" after the data is successfully sent to the board, this issue would resolve itself, while allowing the "Custom ID Written: " text to display all zeros in the home screen / terminal view.

RFID Badge Types in Settings

In settings, we need to remove the EM4100 and HID iClass Legacy badge types.

In the App's current form, we can only support HID ProxCard and HID Indala.

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.