├── .idea
├── .name
├── copyright
│ └── profiles_settings.xml
├── scopes
│ └── scope_settings.xml
├── encodings.xml
├── vcs.xml
├── misc.xml
├── modules.xml
├── gradle.xml
└── compiler.xml
├── app
├── .gitignore
├── src
│ ├── main
│ │ ├── res
│ │ │ ├── drawable-xhdpi
│ │ │ │ ├── app_icon.png
│ │ │ │ ├── action_play.png
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── action_pause.png
│ │ │ │ ├── ic_action_add.png
│ │ │ │ ├── ic_action_add_ab.png
│ │ │ │ ├── ic_action_delete.png
│ │ │ │ ├── ic_add_black_24dp.png
│ │ │ │ ├── ic_add_white_24dp.png
│ │ │ │ ├── perm_group_network.png
│ │ │ │ ├── ic_android_white_24dp.png
│ │ │ │ ├── ic_delete_white_24dp.png
│ │ │ │ ├── ic_pause_white_24dp.png
│ │ │ │ ├── perm_group_bluetooth.png
│ │ │ │ ├── perm_group_location.png
│ │ │ │ ├── perm_group_messages.png
│ │ │ │ ├── ic_bluetooth_white_24dp.png
│ │ │ │ ├── ic_nfc_write_white_24dp.png
│ │ │ │ ├── ic_note_add_white_24dp.png
│ │ │ │ ├── ic_settings_black_24dp.png
│ │ │ │ ├── ic_vibration_white_24dp.png
│ │ │ │ ├── ic_volume_up_white_24dp.png
│ │ │ │ ├── ic_action_write_ab_to_tag.png
│ │ │ │ ├── ic_content_copy_white_24dp.png
│ │ │ │ ├── ic_network_wifi_white_24dp.png
│ │ │ │ ├── ic_play_arrow_white_24dp.png
│ │ │ │ ├── ic_ring_volume_white_24dp.png
│ │ │ │ ├── ic_volume_off_white_24dp.png
│ │ │ │ ├── perm_group_audio_settings.png
│ │ │ │ ├── perm_group_device_alarms.png
│ │ │ │ ├── ic_signal_wifi_off_white_24dp.png
│ │ │ │ └── ic_bluetooth_disabled_white_24dp.png
│ │ │ ├── drawable-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_action_add.png
│ │ │ │ ├── ic_action_add_ab.png
│ │ │ │ ├── ic_action_delete.png
│ │ │ │ ├── ic_add_black_24dp.png
│ │ │ │ ├── ic_add_white_24dp.png
│ │ │ │ ├── ic_pause_white_24dp.png
│ │ │ │ ├── ic_android_white_24dp.png
│ │ │ │ ├── ic_delete_white_24dp.png
│ │ │ │ ├── ic_note_add_white_24dp.png
│ │ │ │ ├── ic_settings_black_24dp.png
│ │ │ │ ├── ic_bluetooth_white_24dp.png
│ │ │ │ ├── ic_nfc_write_white_24dp.png
│ │ │ │ ├── ic_play_arrow_white_24dp.png
│ │ │ │ ├── ic_vibration_white_24dp.png
│ │ │ │ ├── ic_volume_off_white_24dp.png
│ │ │ │ ├── ic_volume_up_white_24dp.png
│ │ │ │ ├── ic_action_write_ab_to_tag.png
│ │ │ │ ├── ic_content_copy_white_24dp.png
│ │ │ │ ├── ic_network_wifi_white_24dp.png
│ │ │ │ ├── ic_ring_volume_white_24dp.png
│ │ │ │ ├── ic_signal_wifi_off_white_24dp.png
│ │ │ │ └── ic_bluetooth_disabled_white_24dp.png
│ │ │ ├── drawable-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_action_add.png
│ │ │ │ ├── ic_action_add_ab.png
│ │ │ │ ├── ic_action_delete.png
│ │ │ │ ├── ic_add_black_24dp.png
│ │ │ │ ├── ic_add_white_24dp.png
│ │ │ │ ├── ic_pause_white_24dp.png
│ │ │ │ ├── ic_android_white_24dp.png
│ │ │ │ ├── ic_delete_white_24dp.png
│ │ │ │ ├── ic_note_add_white_24dp.png
│ │ │ │ ├── ic_settings_black_24dp.png
│ │ │ │ ├── ic_bluetooth_white_24dp.png
│ │ │ │ ├── ic_nfc_write_white_24dp.png
│ │ │ │ ├── ic_play_arrow_white_24dp.png
│ │ │ │ ├── ic_vibration_white_24dp.png
│ │ │ │ ├── ic_volume_off_white_24dp.png
│ │ │ │ ├── ic_volume_up_white_24dp.png
│ │ │ │ ├── ic_action_write_ab_to_tag.png
│ │ │ │ ├── ic_content_copy_white_24dp.png
│ │ │ │ ├── ic_network_wifi_white_24dp.png
│ │ │ │ ├── ic_ring_volume_white_24dp.png
│ │ │ │ ├── ic_signal_wifi_off_white_24dp.png
│ │ │ │ └── ic_bluetooth_disabled_white_24dp.png
│ │ │ ├── drawable-xxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── card_background.9.png
│ │ │ │ ├── ic_add_black_24dp.png
│ │ │ │ ├── ic_add_white_24dp.png
│ │ │ │ ├── ic_delete_white_24dp.png
│ │ │ │ ├── ic_pause_white_24dp.png
│ │ │ │ ├── ic_android_white_24dp.png
│ │ │ │ ├── ic_note_add_white_24dp.png
│ │ │ │ ├── ic_settings_black_24dp.png
│ │ │ │ ├── ic_bluetooth_white_24dp.png
│ │ │ │ ├── ic_nfc_write_white_24dp.png
│ │ │ │ ├── ic_play_arrow_white_24dp.png
│ │ │ │ ├── ic_ring_volume_white_24dp.png
│ │ │ │ ├── ic_vibration_white_24dp.png
│ │ │ │ ├── ic_volume_off_white_24dp.png
│ │ │ │ ├── ic_volume_up_white_24dp.png
│ │ │ │ ├── ic_content_copy_white_24dp.png
│ │ │ │ ├── ic_network_wifi_white_24dp.png
│ │ │ │ ├── ic_signal_wifi_off_white_24dp.png
│ │ │ │ └── ic_bluetooth_disabled_white_24dp.png
│ │ │ ├── drawable-xxxhdpi
│ │ │ │ ├── ic_add_black_24dp.png
│ │ │ │ ├── ic_add_white_24dp.png
│ │ │ │ ├── ic_pause_white_24dp.png
│ │ │ │ ├── ic_android_white_24dp.png
│ │ │ │ ├── ic_delete_white_24dp.png
│ │ │ │ ├── ic_bluetooth_white_24dp.png
│ │ │ │ ├── ic_nfc_write_white_24dp.png
│ │ │ │ ├── ic_note_add_white_24dp.png
│ │ │ │ ├── ic_play_arrow_white_24dp.png
│ │ │ │ ├── ic_settings_black_24dp.png
│ │ │ │ ├── ic_vibration_white_24dp.png
│ │ │ │ ├── ic_volume_off_white_24dp.png
│ │ │ │ ├── ic_volume_up_white_24dp.png
│ │ │ │ ├── ic_content_copy_white_24dp.png
│ │ │ │ ├── ic_network_wifi_white_24dp.png
│ │ │ │ ├── ic_ring_volume_white_24dp.png
│ │ │ │ ├── ic_signal_wifi_off_white_24dp.png
│ │ │ │ └── ic_bluetooth_disabled_white_24dp.png
│ │ │ ├── menu
│ │ │ │ ├── fragment_action_bundle_detail_cab.xml
│ │ │ │ ├── fragment_action_bundle_detail_2.xml
│ │ │ │ ├── activity_write_tag.xml
│ │ │ │ ├── activity_tag_info.xml
│ │ │ │ ├── fragment_action_bundle_list_2.xml
│ │ │ │ ├── fragment_action_bundle_list.xml
│ │ │ │ └── fragment_action_bundle_detail.xml
│ │ │ ├── drawable
│ │ │ │ └── roundbackground.xml
│ │ │ ├── layout
│ │ │ │ ├── activity_all_actions.xml
│ │ │ │ ├── activity_main.xml
│ │ │ │ ├── ac_launch_app.xml
│ │ │ │ ├── test.xml
│ │ │ │ ├── list_item_action_empty.xml
│ │ │ │ ├── ac_media_volume.xml
│ │ │ │ ├── fragment_preference.xml
│ │ │ │ ├── spinner_item.xml
│ │ │ │ ├── ac_ringer_normal.xml
│ │ │ │ ├── list_item_action_all.xml
│ │ │ │ ├── activity_execute_tag.xml
│ │ │ │ ├── list_item_action.xml
│ │ │ │ ├── activity_tag_info.xml
│ │ │ │ ├── activity_write_message_to_tag.xml
│ │ │ │ ├── fragment_action_extended.xml
│ │ │ │ ├── fragment_action_bundle_list.xml
│ │ │ │ ├── list_item_action_drag.xml
│ │ │ │ ├── list_item_card.xml
│ │ │ │ └── view_tag_info.xml
│ │ │ ├── anim
│ │ │ │ ├── splashfadeout.xml
│ │ │ │ └── slide_top_to_bottom.xml
│ │ │ ├── xml
│ │ │ │ ├── settings.xml
│ │ │ │ └── nfc_tech_filter.xml
│ │ │ ├── values-sw600dp
│ │ │ │ └── dimens.xml
│ │ │ ├── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ └── styles.xml
│ │ │ └── animator
│ │ │ │ ├── fragment_open_exit.xml
│ │ │ │ ├── fragment_close_enter.xml
│ │ │ │ ├── fragment_open_enter.xml
│ │ │ │ └── fragment_close_exit.xml
│ │ ├── java
│ │ │ └── de
│ │ │ │ └── nsvb
│ │ │ │ └── taglauncher
│ │ │ │ ├── util
│ │ │ │ ├── Log.java
│ │ │ │ └── NdefHelper.java
│ │ │ │ ├── action
│ │ │ │ ├── ExtendedActionVariableSize.java
│ │ │ │ ├── ExtendedAction.java
│ │ │ │ ├── WlanOn.java
│ │ │ │ ├── RingerSilent.java
│ │ │ │ ├── WlanOff.java
│ │ │ │ ├── RingerVibrate.java
│ │ │ │ ├── BluetoothOn.java
│ │ │ │ ├── WlanToggle.java
│ │ │ │ ├── BluetoothOff.java
│ │ │ │ ├── BluetoothToggle.java
│ │ │ │ ├── MediaPlay.java
│ │ │ │ ├── MediaPause.java
│ │ │ │ ├── Action.java
│ │ │ │ ├── ActionID.java
│ │ │ │ └── MediaVolume.java
│ │ │ │ ├── db
│ │ │ │ └── Store.java
│ │ │ │ ├── ui
│ │ │ │ ├── ActionListAdapter.java
│ │ │ │ └── DragGripViewMaterial.java
│ │ │ │ ├── ActivityAllActions.java
│ │ │ │ ├── FragmentSettings.java
│ │ │ │ ├── DialogFragmentFirstRun.java
│ │ │ │ ├── DialogFragmentRename.java
│ │ │ │ ├── DialogFragmentNfcDisabled.java
│ │ │ │ ├── DialogFragmentDelete.java
│ │ │ │ ├── FragmentAllActions.java
│ │ │ │ └── ActivityExecuteTag.java
│ │ └── AndroidManifest.xml
│ └── androidTest
│ │ └── java
│ │ └── de
│ │ └── nsvb
│ │ └── taglauncher
│ │ └── ApplicationTest.java
├── proguard-rules.pro
└── build.gradle
├── settings.gradle
├── dslv-library
├── build
│ ├── intermediates
│ │ ├── incremental
│ │ │ ├── aidl
│ │ │ │ ├── debug
│ │ │ │ │ └── dependency.store
│ │ │ │ ├── release
│ │ │ │ │ └── dependency.store
│ │ │ │ └── test
│ │ │ │ │ └── debug
│ │ │ │ │ └── dependency.store
│ │ │ ├── mergeAssets
│ │ │ │ ├── debug
│ │ │ │ │ └── merger.xml
│ │ │ │ ├── release
│ │ │ │ │ └── merger.xml
│ │ │ │ └── test
│ │ │ │ │ └── debug
│ │ │ │ │ └── merger.xml
│ │ │ ├── mergeResources
│ │ │ │ └── test
│ │ │ │ │ └── debug
│ │ │ │ │ └── merger.xml
│ │ │ └── packageResources
│ │ │ │ ├── debug
│ │ │ │ └── merger.xml
│ │ │ │ └── release
│ │ │ │ └── merger.xml
│ │ ├── bundles
│ │ │ ├── debug
│ │ │ │ ├── classes.jar
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── res
│ │ │ │ │ └── values
│ │ │ │ │ │ └── values.xml
│ │ │ │ └── R.txt
│ │ │ └── release
│ │ │ │ ├── classes.jar
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── res
│ │ │ │ └── values
│ │ │ │ │ └── values.xml
│ │ │ │ └── R.txt
│ │ ├── res
│ │ │ ├── resources-debug-test.ap_
│ │ │ └── test
│ │ │ │ └── debug
│ │ │ │ └── values
│ │ │ │ └── values.xml
│ │ ├── classes
│ │ │ ├── debug
│ │ │ │ └── com
│ │ │ │ │ └── mobeta
│ │ │ │ │ └── android
│ │ │ │ │ └── dslv
│ │ │ │ │ ├── R.class
│ │ │ │ │ ├── R$id.class
│ │ │ │ │ ├── R$attr.class
│ │ │ │ │ ├── BuildConfig.class
│ │ │ │ │ ├── R$styleable.class
│ │ │ │ │ ├── DragSortItemView.class
│ │ │ │ │ ├── DragSortListView.class
│ │ │ │ │ ├── DragSortController$1.class
│ │ │ │ │ ├── DragSortController.class
│ │ │ │ │ ├── DragSortListView$1.class
│ │ │ │ │ ├── DragSortListView$2.class
│ │ │ │ │ ├── DragSortCursorAdapter.class
│ │ │ │ │ ├── SimpleFloatViewManager.class
│ │ │ │ │ ├── SimpleDragSortCursorAdapter.class
│ │ │ │ │ ├── DragSortListView$DragListener.class
│ │ │ │ │ ├── DragSortListView$DragScroller.class
│ │ │ │ │ ├── DragSortListView$DropAnimator.class
│ │ │ │ │ ├── DragSortListView$DropListener.class
│ │ │ │ │ ├── DragSortListView$HeightCache.class
│ │ │ │ │ ├── DragSortListView$LiftAnimator.class
│ │ │ │ │ ├── ResourceDragSortCursorAdapter.class
│ │ │ │ │ ├── DragSortListView$AdapterWrapper.class
│ │ │ │ │ ├── DragSortListView$DragSortTracker.class
│ │ │ │ │ ├── DragSortListView$RemoveAnimator.class
│ │ │ │ │ ├── DragSortListView$RemoveListener.class
│ │ │ │ │ ├── DragSortListView$SmoothAnimator.class
│ │ │ │ │ ├── DragSortListView$DragScrollProfile.class
│ │ │ │ │ ├── DragSortListView$DragSortListener.class
│ │ │ │ │ ├── DragSortListView$FloatViewManager.class
│ │ │ │ │ ├── SimpleDragSortCursorAdapter$ViewBinder.class
│ │ │ │ │ └── SimpleDragSortCursorAdapter$CursorToStringConverter.class
│ │ │ └── release
│ │ │ │ └── com
│ │ │ │ └── mobeta
│ │ │ │ └── android
│ │ │ │ └── dslv
│ │ │ │ ├── R.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── BuildConfig.class
│ │ │ │ ├── R$styleable.class
│ │ │ │ ├── DragSortController.class
│ │ │ │ ├── DragSortItemView.class
│ │ │ │ ├── DragSortListView$1.class
│ │ │ │ ├── DragSortListView$2.class
│ │ │ │ ├── DragSortListView.class
│ │ │ │ ├── DragSortController$1.class
│ │ │ │ ├── DragSortCursorAdapter.class
│ │ │ │ ├── SimpleFloatViewManager.class
│ │ │ │ ├── DragSortListView$HeightCache.class
│ │ │ │ ├── SimpleDragSortCursorAdapter.class
│ │ │ │ ├── DragSortListView$DragListener.class
│ │ │ │ ├── DragSortListView$DragScroller.class
│ │ │ │ ├── DragSortListView$DropAnimator.class
│ │ │ │ ├── DragSortListView$DropListener.class
│ │ │ │ ├── DragSortListView$LiftAnimator.class
│ │ │ │ ├── ResourceDragSortCursorAdapter.class
│ │ │ │ ├── DragSortListView$AdapterWrapper.class
│ │ │ │ ├── DragSortListView$DragSortListener.class
│ │ │ │ ├── DragSortListView$DragSortTracker.class
│ │ │ │ ├── DragSortListView$FloatViewManager.class
│ │ │ │ ├── DragSortListView$RemoveAnimator.class
│ │ │ │ ├── DragSortListView$RemoveListener.class
│ │ │ │ ├── DragSortListView$SmoothAnimator.class
│ │ │ │ ├── DragSortListView$DragScrollProfile.class
│ │ │ │ ├── SimpleDragSortCursorAdapter$ViewBinder.class
│ │ │ │ └── SimpleDragSortCursorAdapter$CursorToStringConverter.class
│ │ ├── manifests
│ │ │ ├── test
│ │ │ │ └── debug
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ └── tmp
│ │ │ │ ├── manifestMerger3267219224173633310.xml
│ │ │ │ └── manifestMerger4465595194003285475.xml
│ │ └── symbols
│ │ │ └── test
│ │ │ └── debug
│ │ │ └── R.txt
│ ├── tmp
│ │ ├── packageDebugJar
│ │ │ └── MANIFEST.MF
│ │ └── packageReleaseJar
│ │ │ └── MANIFEST.MF
│ ├── outputs
│ │ └── aar
│ │ │ ├── dlsv-library-debug.aar
│ │ │ ├── dslv-library-debug.aar
│ │ │ ├── dlsv-library-release.aar
│ │ │ └── dslv-library-release.aar
│ └── generated
│ │ └── source
│ │ ├── buildConfig
│ │ ├── release
│ │ │ └── com
│ │ │ │ └── mobeta
│ │ │ │ └── android
│ │ │ │ └── dslv
│ │ │ │ └── BuildConfig.java
│ │ ├── debug
│ │ │ └── com
│ │ │ │ └── mobeta
│ │ │ │ └── android
│ │ │ │ └── dslv
│ │ │ │ └── BuildConfig.java
│ │ └── test
│ │ │ └── debug
│ │ │ └── com
│ │ │ └── mobeta
│ │ │ └── android
│ │ │ └── dslv
│ │ │ └── test
│ │ │ └── BuildConfig.java
│ │ └── r
│ │ └── test
│ │ └── debug
│ │ └── com
│ │ └── mobeta
│ │ └── android
│ │ └── dslv
│ │ └── R.java
├── src
│ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── res
│ │ └── values
│ │ │ └── dslv_attrs.xml
│ │ └── java
│ │ └── com
│ │ └── mobeta
│ │ └── android
│ │ └── dslv
│ │ ├── SimpleFloatViewManager.java
│ │ └── DragSortItemView.java
└── build.gradle
├── .gitignore
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── README.md
├── TagLauncher.iml
├── gradle.properties
└── gradlew.bat
/.idea/.name:
--------------------------------------------------------------------------------
1 | TagLauncher
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 | include ':dslv-library'
3 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/incremental/aidl/debug/dependency.store:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/incremental/aidl/release/dependency.store:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/incremental/aidl/test/debug/dependency.store:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dslv-library/build/tmp/packageDebugJar/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 |
3 |
--------------------------------------------------------------------------------
/dslv-library/build/tmp/packageReleaseJar/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 |
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .gradle
2 | /local.properties
3 | /.idea/workspace.xml
4 | /.idea/libraries
5 | .DS_Store
6 | /build
7 |
--------------------------------------------------------------------------------
/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/app_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/app_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/action_play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/action_play.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_action_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_action_add.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_action_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_action_add.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/action_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/action_pause.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_action_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_action_add.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_action_add_ab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_action_add_ab.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_action_delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_action_delete.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_add_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_add_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_add_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_add_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_action_add_ab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_action_add_ab.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_action_delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_action_delete.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_add_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_add_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_add_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_add_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_action_add_ab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_action_add_ab.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_action_delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_action_delete.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_pause_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_pause_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_pause_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_pause_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_add_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_add_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_add_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_add_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/perm_group_network.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/perm_group_network.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/card_background.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/card_background.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_add_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_add_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png
--------------------------------------------------------------------------------
/dslv-library/build/outputs/aar/dlsv-library-debug.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/outputs/aar/dlsv-library-debug.aar
--------------------------------------------------------------------------------
/dslv-library/build/outputs/aar/dslv-library-debug.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/outputs/aar/dslv-library-debug.aar
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_android_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_android_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_delete_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_delete_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_note_add_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_note_add_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_settings_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_settings_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_android_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_android_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_delete_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_delete_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_note_add_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_note_add_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_settings_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_settings_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_android_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_android_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_delete_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_delete_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_pause_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_pause_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/perm_group_bluetooth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/perm_group_bluetooth.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/perm_group_location.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/perm_group_location.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/perm_group_messages.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/perm_group_messages.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_delete_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_delete_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_pause_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_pause_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_add_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_add_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_add_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_add_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_pause_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_pause_white_24dp.png
--------------------------------------------------------------------------------
/dslv-library/build/outputs/aar/dlsv-library-release.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/outputs/aar/dlsv-library-release.aar
--------------------------------------------------------------------------------
/dslv-library/build/outputs/aar/dslv-library-release.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/outputs/aar/dslv-library-release.aar
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_bluetooth_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_bluetooth_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_nfc_write_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_nfc_write_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_play_arrow_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_play_arrow_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_vibration_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_vibration_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_volume_off_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_volume_off_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_volume_up_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_volume_up_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_bluetooth_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_bluetooth_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_nfc_write_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_nfc_write_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_play_arrow_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_play_arrow_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_vibration_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_vibration_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_volume_off_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_volume_off_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_volume_up_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_volume_up_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_bluetooth_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_bluetooth_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_nfc_write_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_nfc_write_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_note_add_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_note_add_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_settings_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_settings_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_vibration_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_vibration_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_volume_up_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_volume_up_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_android_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_android_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_note_add_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_note_add_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_settings_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_settings_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_android_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_android_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_delete_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_delete_white_24dp.png
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/bundles/debug/classes.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/bundles/debug/classes.jar
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_action_write_ab_to_tag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_action_write_ab_to_tag.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_content_copy_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_content_copy_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_network_wifi_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_network_wifi_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_ring_volume_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_ring_volume_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_action_write_ab_to_tag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_action_write_ab_to_tag.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_content_copy_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_content_copy_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_network_wifi_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_network_wifi_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_ring_volume_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_ring_volume_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_action_write_ab_to_tag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_action_write_ab_to_tag.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_content_copy_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_content_copy_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_network_wifi_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_network_wifi_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_play_arrow_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_play_arrow_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_ring_volume_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_ring_volume_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_volume_off_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_volume_off_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/perm_group_audio_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/perm_group_audio_settings.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/perm_group_device_alarms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/perm_group_device_alarms.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_bluetooth_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_bluetooth_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_nfc_write_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_nfc_write_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_play_arrow_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_play_arrow_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_ring_volume_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_ring_volume_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_vibration_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_vibration_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_volume_off_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_volume_off_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_volume_up_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_volume_up_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_bluetooth_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_bluetooth_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_nfc_write_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_nfc_write_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_note_add_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_note_add_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_play_arrow_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_play_arrow_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_settings_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_settings_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_vibration_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_vibration_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_volume_off_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_volume_off_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_volume_up_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_volume_up_white_24dp.png
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/bundles/release/classes.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/bundles/release/classes.jar
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/res/resources-debug-test.ap_:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/res/resources-debug-test.ap_
--------------------------------------------------------------------------------
/.idea/scopes/scope_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_signal_wifi_off_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_signal_wifi_off_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_signal_wifi_off_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_signal_wifi_off_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_content_copy_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_content_copy_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_network_wifi_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_network_wifi_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_content_copy_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_content_copy_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_network_wifi_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_network_wifi_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_ring_volume_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_ring_volume_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_bluetooth_disabled_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-hdpi/ic_bluetooth_disabled_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_bluetooth_disabled_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-mdpi/ic_bluetooth_disabled_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_signal_wifi_off_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_signal_wifi_off_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_signal_wifi_off_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_signal_wifi_off_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_signal_wifi_off_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_signal_wifi_off_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_bluetooth_disabled_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xhdpi/ic_bluetooth_disabled_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_bluetooth_disabled_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxhdpi/ic_bluetooth_disabled_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_bluetooth_disabled_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/app/src/main/res/drawable-xxxhdpi/ic_bluetooth_disabled_white_24dp.png
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/R.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/R.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/R$id.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/R$id.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/R.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/R.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/R$attr.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/R$attr.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/R$id.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/R$id.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/R$attr.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/R$attr.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/BuildConfig.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/BuildConfig.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/R$styleable.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/R$styleable.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/BuildConfig.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/BuildConfig.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/R$styleable.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/R$styleable.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortItemView.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortItemView.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortController$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortController$1.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortController.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$1.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$2.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortController.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortItemView.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortItemView.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$1.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$2.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortCursorAdapter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortCursorAdapter.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/SimpleFloatViewManager.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/SimpleFloatViewManager.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortController$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortController$1.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortCursorAdapter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortCursorAdapter.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/SimpleFloatViewManager.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/SimpleFloatViewManager.class
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | TagLauncher
2 | ===========
3 | Start actions on your device by scanning a NFC tag
4 |
5 | [](https://play.google.com/store/apps/details?id=de.nsvb.taglauncher)
6 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/SimpleDragSortCursorAdapter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/SimpleDragSortCursorAdapter.class
--------------------------------------------------------------------------------
/app/src/main/res/menu/fragment_action_bundle_detail_cab.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$DragListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$DragListener.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$DragScroller.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$DragScroller.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$DropAnimator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$DropAnimator.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$DropListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$DropListener.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$HeightCache.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$HeightCache.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$LiftAnimator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$LiftAnimator.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/ResourceDragSortCursorAdapter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/ResourceDragSortCursorAdapter.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$HeightCache.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$HeightCache.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/SimpleDragSortCursorAdapter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/SimpleDragSortCursorAdapter.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$AdapterWrapper.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$AdapterWrapper.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$DragSortTracker.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$DragSortTracker.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$RemoveAnimator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$RemoveAnimator.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$RemoveListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$RemoveListener.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$SmoothAnimator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$SmoothAnimator.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$DragListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$DragListener.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$DragScroller.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$DragScroller.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$DropAnimator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$DropAnimator.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$DropListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$DropListener.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$LiftAnimator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$LiftAnimator.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/ResourceDragSortCursorAdapter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/ResourceDragSortCursorAdapter.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$DragScrollProfile.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$DragScrollProfile.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$DragSortListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$DragSortListener.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$FloatViewManager.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/DragSortListView$FloatViewManager.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$AdapterWrapper.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$AdapterWrapper.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$DragSortListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$DragSortListener.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$DragSortTracker.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$DragSortTracker.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$FloatViewManager.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$FloatViewManager.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$RemoveAnimator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$RemoveAnimator.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$RemoveListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$RemoveListener.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$SmoothAnimator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$SmoothAnimator.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$DragScrollProfile.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/DragSortListView$DragScrollProfile.class
--------------------------------------------------------------------------------
/app/src/main/res/drawable/roundbackground.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/fragment_action_bundle_detail_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/SimpleDragSortCursorAdapter$ViewBinder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/SimpleDragSortCursorAdapter$ViewBinder.class
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/SimpleDragSortCursorAdapter$ViewBinder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/SimpleDragSortCursorAdapter$ViewBinder.class
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Apr 10 15:27:10 PDT 2013
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.1-all.zip
7 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/SimpleDragSortCursorAdapter$CursorToStringConverter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/debug/com/mobeta/android/dslv/SimpleDragSortCursorAdapter$CursorToStringConverter.class
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_all_actions.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/SimpleDragSortCursorAdapter$CursorToStringConverter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ns130291/TagLauncher/develop/dslv-library/build/intermediates/classes/release/com/mobeta/android/dslv/SimpleDragSortCursorAdapter$CursorToStringConverter.class
--------------------------------------------------------------------------------
/app/src/main/res/anim/splashfadeout.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/dslv-library/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/activity_write_tag.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/util/Log.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.util;
2 |
3 | public class Log {
4 | public static final String TAG = "taglauncher";
5 | public static boolean DEBUG = true; //TODO change to false
6 |
7 | public static int d(String msg) {
8 | if (DEBUG) {
9 | return android.util.Log.d(TAG, msg);
10 | }else{
11 | return 0;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/incremental/mergeAssets/debug/merger.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/incremental/mergeAssets/release/merger.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/action/ExtendedActionVariableSize.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.action;
2 |
3 | public abstract class ExtendedActionVariableSize extends ExtendedAction {
4 | protected byte mDelimiter;
5 |
6 | public ExtendedActionVariableSize() {
7 | super();
8 | mVariableExtraSize = true;
9 | }
10 |
11 | public byte getDelimiter(){
12 | return mDelimiter;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/bundles/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/bundles/release/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/activity_tag_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/incremental/mergeAssets/test/debug/merger.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/androidTest/java/de/nsvb/taglauncher/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/app/src/main/res/values-sw600dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 24dp
4 | 64dp
5 | 16dp
6 | 4dp
7 | 16sp
8 | 64dp
9 | 22dp
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/ac_launch_app.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #03a9f4
4 | #0288d1
5 | #ffab40
6 | #ff9100
7 | #ffffff
8 | #fafafa
9 | #42000000
10 | #8a000000
11 | #de000000
12 |
13 |
14 |
--------------------------------------------------------------------------------
/dslv-library/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion 15
5 | buildToolsVersion "19.1.0"
6 |
7 | defaultConfig {
8 | applicationId "com.mobeta.android.dslv"
9 | minSdkVersion 7
10 | targetSdkVersion 7
11 | }
12 |
13 | buildTypes {
14 | release {
15 | runProguard false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
17 | }
18 | }
19 | }
20 |
21 | dependencies {
22 | compile 'com.android.support:support-v4:18.+'
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4dp
4 | 12dp
5 | 12dp
6 | 8dp
7 | 0dp
8 | 14sp
9 | 48dp
10 | 10dp
11 |
12 | 2dp
13 |
14 | 40dp
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/test.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/list_item_action_empty.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
16 |
17 |
--------------------------------------------------------------------------------
/dslv-library/build/generated/source/buildConfig/release/com/mobeta/android/dslv/BuildConfig.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Automatically generated file. DO NOT MODIFY
3 | */
4 | package com.mobeta.android.dslv;
5 |
6 | public final class BuildConfig {
7 | public static final boolean DEBUG = false;
8 | public static final String APPLICATION_ID = "com.mobeta.android.dslv";
9 | public static final String BUILD_TYPE = "release";
10 | public static final String FLAVOR = "";
11 | public static final int VERSION_CODE = 3;
12 | public static final String VERSION_NAME = "";
13 | /**
14 | * @deprecated Use {@link #APPLICATION_ID}
15 | */
16 | @Deprecated
17 | public static final String PACKAGE_NAME = "com.mobeta.android.dslv";
18 | }
19 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/ac_media_volume.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
19 |
20 |
--------------------------------------------------------------------------------
/dslv-library/build/generated/source/buildConfig/debug/com/mobeta/android/dslv/BuildConfig.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Automatically generated file. DO NOT MODIFY
3 | */
4 | package com.mobeta.android.dslv;
5 |
6 | public final class BuildConfig {
7 | public static final boolean DEBUG = Boolean.parseBoolean("true");
8 | public static final String APPLICATION_ID = "com.mobeta.android.dslv";
9 | public static final String BUILD_TYPE = "debug";
10 | public static final String FLAVOR = "";
11 | public static final int VERSION_CODE = 3;
12 | public static final String VERSION_NAME = "";
13 | /**
14 | * @deprecated Use {@link #APPLICATION_ID}
15 | */
16 | @Deprecated
17 | public static final String PACKAGE_NAME = "com.mobeta.android.dslv";
18 | }
19 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in C:\Program Files (x86)\Android\android-studio\sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/dslv-library/build/generated/source/buildConfig/test/debug/com/mobeta/android/dslv/test/BuildConfig.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Automatically generated file. DO NOT MODIFY
3 | */
4 | package com.mobeta.android.dslv.test;
5 |
6 | public final class BuildConfig {
7 | public static final boolean DEBUG = Boolean.parseBoolean("true");
8 | public static final String APPLICATION_ID = "com.mobeta.android.dslv.test";
9 | public static final String BUILD_TYPE = "debug";
10 | public static final String FLAVOR = "";
11 | public static final int VERSION_CODE = -1;
12 | public static final String VERSION_NAME = "";
13 | /**
14 | * @deprecated Use {@link #APPLICATION_ID}
15 | */
16 | @Deprecated
17 | public static final String PACKAGE_NAME = "com.mobeta.android.dslv.test";
18 | }
19 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/fragment_action_bundle_list_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/manifests/test/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_preference.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/fragment_action_bundle_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/manifests/tmp/manifestMerger3267219224173633310.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/manifests/tmp/manifestMerger4465595194003285475.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/spinner_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
21 |
22 |
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/TagLauncher.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 21
5 | buildToolsVersion "20.0.0"
6 |
7 | defaultConfig {
8 | applicationId "de.nsvb.taglauncher"
9 | minSdkVersion 15
10 | targetSdkVersion 21
11 | versionCode 1
12 | versionName "1.0.0"
13 | }
14 | buildTypes {
15 | release {
16 | runProguard false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | debug {
20 | applicationIdSuffix ".debug"
21 | versionNameSuffix "-debug"
22 | }
23 | }
24 | }
25 |
26 | dependencies {
27 | compile fileTree(dir: 'libs', include: ['*.jar'])
28 | compile project(":dslv-library")
29 | compile "com.android.support:appcompat-v7:21.0.+"
30 | compile 'com.shamanland:fab:0.0.5'
31 | }
32 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
14 |
15 | # When configured, Gradle will run in incubating parallel mode.
16 | # This option should only be used with decoupled projects. More details, visit
17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18 | # org.gradle.parallel=true
--------------------------------------------------------------------------------
/app/src/main/res/layout/ac_ringer_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
19 |
20 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/list_item_action_all.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
12 |
13 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/nfc_tech_filter.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | android.nfc.tech.NfcA
5 |
6 |
7 | android.nfc.tech.NfcB
8 |
9 |
10 | android.nfc.tech.NfcF
11 |
12 |
13 | android.nfc.tech.NfcV
14 |
15 |
16 | android.nfc.tech.IsoDep
17 |
18 |
19 | android.nfc.tech.MifareClassic
20 |
21 |
22 | android.nfc.tech.MifareUltralight
23 |
24 |
25 | android.nfc.tech.NdefFormatable
26 |
27 |
28 | android.nfc.tech.Ndef
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/action/ExtendedAction.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.action;
2 |
3 | import android.content.Context;
4 | import android.view.View;
5 |
6 | public abstract class ExtendedAction extends Action {
7 | protected int mView;
8 | protected boolean mVariableExtraSize = false;
9 |
10 | public ExtendedAction() {
11 | mExtended = true;
12 | }
13 |
14 | public int getView() {
15 | return mView;
16 | }
17 |
18 | public abstract ExtendedAction saveUserInput(View v);
19 |
20 | public void addInteractionToView(View v, Context ctx) { // TODO why is this method not abstract?
21 |
22 | }
23 |
24 | public abstract String getActivityDescription(Context ctx);
25 |
26 | public int getExtendedLength() {
27 | return 1;
28 | }
29 |
30 | public boolean isVariableExtraSize(){
31 | return mVariableExtraSize;
32 | }
33 |
34 | public abstract void init(Context ctx, byte[] message);
35 |
36 | @Override
37 | protected abstract Object clone() throws CloneNotSupportedException;
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_execute_tag.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
16 |
17 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/animator/fragment_open_exit.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/animator/fragment_close_enter.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/slide_top_to_bottom.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/res/test/debug/values/values.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/action/WlanOn.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.action;
2 |
3 | import android.content.Context;
4 | import android.net.wifi.WifiManager;
5 | import android.os.Parcel;
6 | import android.os.Parcelable;
7 | import de.nsvb.taglauncher.R;
8 |
9 | public class WlanOn extends Action {
10 |
11 | public WlanOn() {
12 | mImageResource = R.drawable.ic_network_wifi_white_24dp;
13 | mMessage.add(ActionID.WLAN_ON);
14 | }
15 |
16 | @Override
17 | public boolean execute(Context ctx) {
18 | WifiManager wifiManager = (WifiManager) ctx.getSystemService(Context.WIFI_SERVICE);
19 | if(wifiManager != null)
20 | {
21 | return wifiManager.setWifiEnabled(true);
22 | }else{
23 | return false;
24 | }
25 | }
26 |
27 | @Override
28 | public String getDescription(Context ctx) {
29 | return ctx.getString(R.string.ac_wlan_on);
30 | }
31 |
32 | // Parcel functions
33 |
34 | public static final Creator CREATOR = new Creator() {
35 | public WlanOn createFromParcel(Parcel in) {
36 | return new WlanOn(in);
37 | }
38 |
39 | public WlanOn[] newArray(int size) {
40 | return new WlanOn[size];
41 | }
42 | };
43 |
44 | private WlanOn(Parcel in) {
45 | this();
46 | }
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/bundles/debug/res/values/values.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/bundles/release/res/values/values.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/fragment_action_bundle_detail.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/action/RingerSilent.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.action;
2 |
3 | import android.content.Context;
4 | import android.media.AudioManager;
5 | import android.os.Parcel;
6 | import android.os.Parcelable;
7 | import de.nsvb.taglauncher.R;
8 |
9 | public class RingerSilent extends Action {
10 |
11 | public RingerSilent() {
12 | mImageResource = R.drawable.ic_volume_off_white_24dp;
13 | mMessage.add(ActionID.RINGER_SILENT);
14 | }
15 |
16 | @Override
17 | public boolean execute(Context ctx) {
18 | AudioManager am = (AudioManager) ctx
19 | .getSystemService(Context.AUDIO_SERVICE);
20 | am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
21 | return true;
22 | }
23 |
24 | @Override
25 | public String getDescription(Context ctx) {
26 | return ctx.getString(R.string.ac_ringer_silent);
27 | }
28 |
29 | // Parcel functions
30 |
31 | public static final Creator CREATOR = new Creator() {
32 | public RingerSilent createFromParcel(Parcel in) {
33 | return new RingerSilent(in);
34 | }
35 |
36 | public RingerSilent[] newArray(int size) {
37 | return new RingerSilent[size];
38 | }
39 | };
40 |
41 | private RingerSilent(Parcel in) {
42 | this();
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/action/WlanOff.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.action;
2 |
3 | import de.nsvb.taglauncher.R;
4 | import android.content.Context;
5 | import android.net.wifi.WifiManager;
6 | import android.os.Parcel;
7 | import android.os.Parcelable;
8 |
9 | public class WlanOff extends Action {
10 |
11 | public WlanOff() {
12 | mImageResource = R.drawable.ic_signal_wifi_off_white_24dp;
13 | mMessage.add(ActionID.WLAN_OFF);
14 | }
15 |
16 | @Override
17 | public boolean execute(Context ctx) {
18 | WifiManager wifiManager = (WifiManager) ctx.getSystemService(Context.WIFI_SERVICE);
19 | if(wifiManager != null)
20 | {
21 | return wifiManager.setWifiEnabled(false);
22 | }else{
23 | return false;
24 | }
25 | }
26 |
27 | @Override
28 | public String getDescription(Context ctx) {
29 | return ctx.getString(R.string.ac_wlan_off);
30 | }
31 |
32 | // Parcel functions
33 |
34 | public static final Creator CREATOR = new Creator() {
35 | public WlanOff createFromParcel(Parcel in) {
36 | return new WlanOff(in);
37 | }
38 |
39 | public WlanOff[] newArray(int size) {
40 | return new WlanOff[size];
41 | }
42 | };
43 |
44 | private WlanOff(Parcel in) {
45 | this();
46 | }
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/action/RingerVibrate.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.action;
2 |
3 | import android.content.Context;
4 | import android.media.AudioManager;
5 | import android.os.Parcel;
6 | import android.os.Parcelable;
7 | import de.nsvb.taglauncher.R;
8 |
9 | public class RingerVibrate extends Action {
10 |
11 | public RingerVibrate() {
12 | mImageResource = R.drawable.ic_vibration_white_24dp;
13 | mMessage.add(ActionID.RINGER_VIBRATE);
14 | }
15 |
16 | @Override
17 | public boolean execute(Context ctx) {
18 | AudioManager am = (AudioManager) ctx
19 | .getSystemService(Context.AUDIO_SERVICE);
20 | am.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
21 | return true;
22 | }
23 |
24 | @Override
25 | public String getDescription(Context ctx) {
26 | return ctx.getString(R.string.ac_ringer_vibrate);
27 | }
28 |
29 | // Parcel functions
30 |
31 | public static final Creator CREATOR = new Creator() {
32 | public RingerVibrate createFromParcel(Parcel in) {
33 | return new RingerVibrate(in);
34 | }
35 |
36 | public RingerVibrate[] newArray(int size) {
37 | return new RingerVibrate[size];
38 | }
39 | };
40 |
41 | private RingerVibrate(Parcel in) {
42 | this();
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/util/NdefHelper.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.util;
2 |
3 | import java.nio.charset.Charset;
4 | import java.util.Locale;
5 |
6 | import android.nfc.NdefRecord;
7 |
8 | public class NdefHelper {
9 | @Deprecated
10 | public static NdefRecord createExternal(String domain, String type, byte[] data) {
11 | if (domain == null)
12 | throw new NullPointerException("domain is null");
13 | if (type == null)
14 | throw new NullPointerException("type is null");
15 |
16 | domain = domain.trim().toLowerCase(Locale.US);
17 | type = type.trim().toLowerCase(Locale.US);
18 |
19 | if (domain.length() == 0)
20 | throw new IllegalArgumentException("domain is empty");
21 | if (type.length() == 0)
22 | throw new IllegalArgumentException("type is empty");
23 |
24 | byte[] byteDomain = domain.getBytes(Charset.forName("UTF_8"));
25 | byte[] byteType = type.getBytes(Charset.forName("UTF_8"));
26 | byte[] b = new byte[byteDomain.length + 1 + byteType.length];
27 | System.arraycopy(byteDomain, 0, b, 0, byteDomain.length);
28 | b[byteDomain.length] = ':';
29 | System.arraycopy(byteType, 0, b, byteDomain.length + 1, byteType.length);
30 |
31 | return new NdefRecord(NdefRecord.TNF_EXTERNAL_TYPE, b, new byte[0], data);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/list_item_action.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
18 |
19 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/action/BluetoothOn.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.action;
2 |
3 | import android.bluetooth.BluetoothAdapter;
4 | import android.content.Context;
5 | import android.os.Parcel;
6 | import android.os.Parcelable;
7 | import de.nsvb.taglauncher.R;
8 |
9 | public class BluetoothOn extends Action {
10 |
11 | public BluetoothOn() {
12 | mImageResource = R.drawable.ic_bluetooth_white_24dp;
13 | mMessage.add(ActionID.BLUETOOTH_ON);
14 | }
15 |
16 | @Override
17 | public boolean execute(Context ctx) {
18 | BluetoothAdapter mBluetoothAdapter = BluetoothAdapter
19 | .getDefaultAdapter();
20 | if (mBluetoothAdapter != null) {
21 | mBluetoothAdapter.enable();
22 | return true;
23 | }else{
24 | return false;
25 | }
26 | }
27 |
28 | @Override
29 | public String getDescription(Context ctx) {
30 | return ctx.getString(R.string.ac_bluetooth_on);
31 | }
32 |
33 | // Parcel functions
34 |
35 | public static final Creator CREATOR = new Creator() {
36 | public BluetoothOn createFromParcel(Parcel in) {
37 | return new BluetoothOn(in);
38 | }
39 |
40 | public BluetoothOn[] newArray(int size) {
41 | return new BluetoothOn[size];
42 | }
43 | };
44 |
45 | private BluetoothOn(Parcel in) {
46 | this();
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/action/WlanToggle.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.action;
2 |
3 | import de.nsvb.taglauncher.R;
4 | import android.content.Context;
5 | import android.net.wifi.WifiManager;
6 | import android.os.Parcel;
7 | import android.os.Parcelable;
8 |
9 | public class WlanToggle extends Action {
10 |
11 | public WlanToggle() {
12 | mImageResource = R.drawable.ic_network_wifi_white_24dp;
13 | mMessage.add(ActionID.WLAN_TOGGLE);
14 | }
15 |
16 | @Override
17 | public boolean execute(Context ctx) {
18 | WifiManager wifiManager = (WifiManager) ctx.getSystemService(Context.WIFI_SERVICE);
19 | if(wifiManager != null)
20 | {
21 | return wifiManager.setWifiEnabled(!wifiManager.isWifiEnabled());
22 | }else{
23 | return false;
24 | }
25 | }
26 |
27 | @Override
28 | public String getDescription(Context ctx) {
29 | return ctx.getString(R.string.ac_wlan_toggle);
30 | }
31 |
32 | // Parcel functions
33 |
34 | public static final Creator CREATOR = new Creator() {
35 | public WlanToggle createFromParcel(Parcel in) {
36 | return new WlanToggle(in);
37 | }
38 |
39 | public WlanToggle[] newArray(int size) {
40 | return new WlanToggle[size];
41 | }
42 | };
43 |
44 | private WlanToggle(Parcel in) {
45 | this();
46 | }
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/action/BluetoothOff.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.action;
2 |
3 | import de.nsvb.taglauncher.R;
4 | import android.bluetooth.BluetoothAdapter;
5 | import android.content.Context;
6 | import android.os.Parcel;
7 | import android.os.Parcelable;
8 |
9 | public class BluetoothOff extends Action {
10 |
11 | public BluetoothOff() {
12 | mImageResource = R.drawable.ic_bluetooth_disabled_white_24dp;
13 | mMessage.add(ActionID.BLUETOOTH_OFF);
14 | }
15 |
16 | @Override
17 | public boolean execute(Context ctx) {
18 | BluetoothAdapter mBluetoothAdapter = BluetoothAdapter
19 | .getDefaultAdapter();
20 | if (mBluetoothAdapter != null) {
21 | mBluetoothAdapter.disable();
22 | return true;
23 | }else{
24 | return false;
25 | }
26 | }
27 |
28 | @Override
29 | public String getDescription(Context ctx) {
30 | return ctx.getString(R.string.ac_bluetooth_off);
31 | }
32 |
33 | // Parcel functions
34 |
35 | public static final Creator CREATOR = new Creator() {
36 | public BluetoothOff createFromParcel(Parcel in) {
37 | return new BluetoothOff(in);
38 | }
39 |
40 | public BluetoothOff[] newArray(int size) {
41 | return new BluetoothOff[size];
42 | }
43 | };
44 |
45 | private BluetoothOff(Parcel in) {
46 | this();
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_tag_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
11 |
18 |
19 |
26 |
27 |
34 |
35 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/action/BluetoothToggle.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.action;
2 |
3 | import android.bluetooth.BluetoothAdapter;
4 | import android.content.Context;
5 | import android.os.Parcel;
6 | import android.os.Parcelable;
7 | import de.nsvb.taglauncher.R;
8 |
9 | public class BluetoothToggle extends Action {
10 |
11 | public BluetoothToggle() {
12 | mImageResource = R.drawable.ic_bluetooth_white_24dp;
13 | mMessage.add(ActionID.BLUETOOTH_TOGGLE);
14 | }
15 |
16 | @Override
17 | public boolean execute(Context ctx) {
18 | BluetoothAdapter mBluetoothAdapter = BluetoothAdapter
19 | .getDefaultAdapter();
20 | if (mBluetoothAdapter != null) {
21 | if (mBluetoothAdapter.isEnabled()) {
22 | return mBluetoothAdapter.disable();
23 | } else {
24 | return mBluetoothAdapter.enable();
25 | }
26 | } else {
27 | return false;
28 | }
29 | }
30 |
31 | @Override
32 | public String getDescription(Context ctx) {
33 | return ctx.getString(R.string.ac_bluetooth_toggle);
34 | }
35 |
36 | // Parcel functions
37 |
38 | public static final Creator CREATOR = new Creator() {
39 | public BluetoothToggle createFromParcel(Parcel in) {
40 | return new BluetoothToggle(in);
41 | }
42 |
43 | public BluetoothToggle[] newArray(int size) {
44 | return new BluetoothToggle[size];
45 | }
46 | };
47 |
48 | private BluetoothToggle(Parcel in) {
49 | this();
50 | }
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_write_message_to_tag.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
16 |
17 |
24 |
25 |
31 |
32 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/dslv-library/src/main/res/values/dslv_attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
19 |
20 |
21 |
24 |
25 |
33 |
34 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/db/Store.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.db;
2 |
3 | import android.content.Context;
4 | import android.database.sqlite.SQLiteDatabase;
5 | import android.database.sqlite.SQLiteOpenHelper;
6 |
7 | public class Store extends SQLiteOpenHelper {
8 |
9 | private static Store mInstance;
10 | private static Context mContext;
11 |
12 | private static final int DB_VERSION = 1;
13 |
14 | public static final String DB_NAME = "de.nsvb.taglauncher";
15 | public static final String DB_AB_TABLENAME = "action_bundle";
16 | public static final String DB_AB_NAME = "name";
17 | public static final String DB_AB_MESSAGE = "message";
18 |
19 | public Store(Context context) {
20 | super(context, DB_NAME, null, DB_VERSION);
21 | }
22 |
23 | @Override
24 | public void onCreate(SQLiteDatabase db) {
25 | /*try{
26 | db.execSQL("DROP TABLE " + DB_AB_TABLENAME + ";");
27 | } catch (Exception e) {
28 | // TODO: handle exception
29 | }*/
30 | db.execSQL("CREATE TABLE " + DB_AB_TABLENAME
31 | + " (id INTEGER PRIMARY KEY AUTOINCREMENT, " + DB_AB_NAME
32 | + " TEXT, " + DB_AB_MESSAGE + " BLOB);");
33 | }
34 |
35 | @Override
36 | public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
37 | // TODO Auto-generated method stub
38 |
39 | }
40 |
41 | public static Store instance(){
42 | if(mContext == null){
43 | return null;
44 | }
45 | if(mInstance == null){
46 | mInstance = new Store(mContext);
47 | }
48 | return mInstance;
49 | }
50 |
51 | public static void setContext(Context context){
52 | mContext = context;
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/action/MediaPlay.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.action;
2 |
3 | import android.content.Context;
4 | import android.content.Intent;
5 | import android.os.Parcel;
6 | import android.os.Parcelable;
7 | import android.view.KeyEvent;
8 | import de.nsvb.taglauncher.R;
9 |
10 | public class MediaPlay extends Action {
11 |
12 | public MediaPlay() {
13 | mImageResource = R.drawable.ic_play_arrow_white_24dp;
14 | mMessage.add(ActionID.MEDIA_PLAY);
15 | }
16 |
17 | @Override
18 | public boolean execute(Context ctx) {
19 |
20 | Intent downIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null);
21 | KeyEvent downEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY);
22 | downIntent.putExtra(Intent.EXTRA_KEY_EVENT, downEvent);
23 | ctx.sendOrderedBroadcast(downIntent, null);
24 |
25 | Intent upIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null);
26 | KeyEvent upEvent = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_MEDIA_PLAY);
27 | upIntent.putExtra(Intent.EXTRA_KEY_EVENT, upEvent);
28 | ctx.sendOrderedBroadcast(upIntent, null);
29 |
30 | return true;
31 | }
32 |
33 | @Override
34 | public String getDescription(Context ctx) {
35 | return ctx.getString(R.string.ac_media_play);
36 | }
37 |
38 | // Parcel functions
39 |
40 | public static final Creator CREATOR = new Creator() {
41 | public MediaPlay createFromParcel(Parcel in) {
42 | return new MediaPlay(in);
43 | }
44 |
45 | public MediaPlay[] newArray(int size) {
46 | return new MediaPlay[size];
47 | }
48 | };
49 |
50 | private MediaPlay(Parcel in) {
51 | this();
52 | }
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/action/MediaPause.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.action;
2 |
3 | import android.content.Context;
4 | import android.content.Intent;
5 | import android.os.Parcel;
6 | import android.os.Parcelable;
7 | import android.view.KeyEvent;
8 | import de.nsvb.taglauncher.R;
9 |
10 | public class MediaPause extends Action {
11 |
12 | public MediaPause() {
13 | mImageResource = R.drawable.ic_pause_white_24dp;
14 | mMessage.add(ActionID.MEDIA_PAUSE);
15 | }
16 |
17 | @Override
18 | public boolean execute(Context ctx) {
19 |
20 | Intent downIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null);
21 | KeyEvent downEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PAUSE);
22 | downIntent.putExtra(Intent.EXTRA_KEY_EVENT, downEvent);
23 | ctx.sendOrderedBroadcast(downIntent, null);
24 |
25 | Intent upIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null);
26 | KeyEvent upEvent = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_MEDIA_PAUSE);
27 | upIntent.putExtra(Intent.EXTRA_KEY_EVENT, upEvent);
28 | ctx.sendOrderedBroadcast(upIntent, null);
29 |
30 | return true;
31 | }
32 |
33 | @Override
34 | public String getDescription(Context ctx) {
35 | return ctx.getString(R.string.ac_media_pause);
36 | }
37 |
38 | // Parcel functions
39 |
40 | public static final Creator CREATOR = new Creator() {
41 | public MediaPause createFromParcel(Parcel in) {
42 | return new MediaPause(in);
43 | }
44 |
45 | public MediaPause[] newArray(int size) {
46 | return new MediaPause[size];
47 | }
48 | };
49 |
50 | private MediaPause(Parcel in) {
51 | this();
52 | }
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/app/src/main/res/animator/fragment_open_enter.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
26 |
32 |
38 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/action/Action.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.action;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | import android.content.Context;
7 | import android.os.Parcel;
8 | import android.os.Parcelable;
9 |
10 | public abstract class Action implements Comparable, Cloneable,
11 | Parcelable {
12 | protected int mImageResource;
13 | protected boolean mExtended = false;
14 | protected List mMessage = new ArrayList();
15 |
16 | public abstract boolean execute(Context ctx);
17 |
18 | public abstract String getDescription(Context ctx);
19 |
20 | public int getImage() {
21 | return mImageResource;
22 | }
23 |
24 | public List getMessage() {
25 | return mMessage;
26 | }
27 |
28 | public boolean isExtended() {
29 | return mExtended;
30 | }
31 |
32 | @Override
33 | public int compareTo(Action another) {
34 | return this.getClass().getName()
35 | .compareTo(another.getClass().getName());
36 | }
37 |
38 | @Override
39 | protected Object clone() throws CloneNotSupportedException {
40 | Class extends Action> classAction = this.getClass();
41 | Action newA;
42 | try {
43 | newA = classAction.newInstance();
44 | } catch (InstantiationException e) {
45 | e.printStackTrace();
46 | throw new CloneNotSupportedException();
47 | } catch (IllegalAccessException e) {
48 | e.printStackTrace();
49 | throw new CloneNotSupportedException();
50 | }
51 | return newA;
52 | }
53 |
54 | // Parcel functions
55 |
56 | @Override
57 | public int describeContents() {
58 | return 0;
59 | }
60 |
61 | @Override
62 | public void writeToParcel(Parcel out, int flags) {
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/app/src/main/res/animator/fragment_close_exit.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
26 |
32 |
38 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_action_extended.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
16 |
17 |
22 |
23 |
30 |
31 |
32 |
33 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/ui/ActionListAdapter.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.ui;
2 |
3 | import android.content.Context;
4 | import android.view.LayoutInflater;
5 | import android.view.View;
6 | import android.view.ViewGroup;
7 | import android.widget.ArrayAdapter;
8 | import android.widget.ImageView;
9 | import android.widget.TextView;
10 | import de.nsvb.taglauncher.R;
11 | import de.nsvb.taglauncher.action.Action;
12 |
13 | import java.util.ArrayList;
14 |
15 | /**
16 | * Created by ns130291 on 24.05.13.
17 | */
18 | public class ActionListAdapter extends ArrayAdapter {
19 |
20 | private ArrayList mActions;
21 | private LayoutInflater mLayoutInflater;
22 | private int mTextViewResourceId;
23 |
24 | public ActionListAdapter(Context context, int textViewResourceId,
25 | ArrayList actions) {
26 | super(context, textViewResourceId, actions);
27 | mActions = actions;
28 | mLayoutInflater = (LayoutInflater) context
29 | .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
30 | mTextViewResourceId = textViewResourceId;
31 | }
32 |
33 | @Override
34 | public View getView(int position, View v, ViewGroup parent) {
35 |
36 | if (v == null) {
37 | v = mLayoutInflater.inflate(mTextViewResourceId, null);
38 | }
39 |
40 | Action action = mActions.get(position);
41 | if (action != null) {
42 | TextView name = (TextView) v.findViewById(R.id.actionText);
43 | ImageView image = (ImageView) v.findViewById(R.id.actionImg);
44 | name.setText(action.getDescription(getContext()));
45 | image.setImageResource(action.getImage());
46 | }
47 |
48 | return v;
49 | }
50 |
51 | }
52 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/ActivityAllActions.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher;
2 |
3 | import de.nsvb.taglauncher.FragmentAllActions.OnExtendedActionSelectedListener;
4 | import de.nsvb.taglauncher.action.ExtendedAction;
5 | import de.nsvb.taglauncher.R;
6 | import android.os.Bundle;
7 | import android.app.Activity;
8 | import android.app.FragmentTransaction;
9 | import android.support.v7.app.ActionBarActivity;
10 | import android.view.Menu;
11 |
12 | public class ActivityAllActions extends ActionBarActivity implements OnExtendedActionSelectedListener {
13 |
14 | @Override
15 | protected void onCreate(Bundle savedInstanceState) {
16 | super.onCreate(savedInstanceState);
17 | setContentView(R.layout.activity_all_actions);
18 |
19 | if (findViewById(R.id.fragment_container) != null) {
20 | if (savedInstanceState != null) {
21 | return;
22 | }
23 |
24 | FragmentAllActions fragmentAllActions = new FragmentAllActions();
25 | fragmentAllActions.setArguments(getIntent().getExtras());
26 | getFragmentManager().beginTransaction()
27 | .add(R.id.fragment_container, fragmentAllActions).commit();
28 | }
29 | }
30 |
31 | @Override
32 | public void onExtendedActionSelected(ExtendedAction action) {
33 | FragmentActionExtended fragment = new FragmentActionExtended();
34 |
35 | Bundle args = new Bundle();
36 | args.putByte(FragmentActionExtended.ACTION_ID, action.getMessage().get(0));
37 | fragment.setArguments(args);
38 |
39 | FragmentTransaction fragmentTransaction = getFragmentManager()
40 | .beginTransaction();
41 | fragmentTransaction.setCustomAnimations(R.animator.fragment_open_enter, 0, 0, R.animator.fragment_close_exit);
42 | fragmentTransaction.replace(R.id.fragment_container,
43 | fragment);
44 | fragmentTransaction.addToBackStack(null);
45 | fragmentTransaction.commit();
46 | }
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/bundles/debug/R.txt:
--------------------------------------------------------------------------------
1 | int attr click_remove_id 0x7f01000f
2 | int attr collapsed_height 0x7f010000
3 | int attr drag_enabled 0x7f01000a
4 | int attr drag_handle_id 0x7f01000e
5 | int attr drag_scroll_start 0x7f010001
6 | int attr drag_start_mode 0x7f01000d
7 | int attr drop_animation_duration 0x7f010009
8 | int attr float_alpha 0x7f010006
9 | int attr float_background_color 0x7f010003
10 | int attr max_drag_scroll_speed 0x7f010002
11 | int attr remove_animation_duration 0x7f010008
12 | int attr remove_enabled 0x7f01000c
13 | int attr remove_mode 0x7f010004
14 | int attr slide_shuffle_speed 0x7f010007
15 | int attr sort_enabled 0x7f01000b
16 | int attr track_drag_sort 0x7f010005
17 | int attr use_default_controller 0x7f010010
18 | int id clickRemove 0x7f020000
19 | int id flingLeft 0x7f020002
20 | int id flingRight 0x7f020001
21 | int id onDown 0x7f020005
22 | int id onLongPress 0x7f020007
23 | int id onMove 0x7f020006
24 | int id slideLeft 0x7f020004
25 | int id slideRight 0x7f020003
26 | int[] styleable DragSortListView { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010 }
27 | int styleable DragSortListView_click_remove_id 15
28 | int styleable DragSortListView_collapsed_height 0
29 | int styleable DragSortListView_drag_enabled 10
30 | int styleable DragSortListView_drag_handle_id 14
31 | int styleable DragSortListView_drag_scroll_start 1
32 | int styleable DragSortListView_drag_start_mode 13
33 | int styleable DragSortListView_drop_animation_duration 9
34 | int styleable DragSortListView_float_alpha 6
35 | int styleable DragSortListView_float_background_color 3
36 | int styleable DragSortListView_max_drag_scroll_speed 2
37 | int styleable DragSortListView_remove_animation_duration 8
38 | int styleable DragSortListView_remove_enabled 12
39 | int styleable DragSortListView_remove_mode 4
40 | int styleable DragSortListView_slide_shuffle_speed 7
41 | int styleable DragSortListView_sort_enabled 11
42 | int styleable DragSortListView_track_drag_sort 5
43 | int styleable DragSortListView_use_default_controller 16
44 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/bundles/release/R.txt:
--------------------------------------------------------------------------------
1 | int attr click_remove_id 0x7f01000f
2 | int attr collapsed_height 0x7f010000
3 | int attr drag_enabled 0x7f01000a
4 | int attr drag_handle_id 0x7f01000e
5 | int attr drag_scroll_start 0x7f010001
6 | int attr drag_start_mode 0x7f01000d
7 | int attr drop_animation_duration 0x7f010009
8 | int attr float_alpha 0x7f010006
9 | int attr float_background_color 0x7f010003
10 | int attr max_drag_scroll_speed 0x7f010002
11 | int attr remove_animation_duration 0x7f010008
12 | int attr remove_enabled 0x7f01000c
13 | int attr remove_mode 0x7f010004
14 | int attr slide_shuffle_speed 0x7f010007
15 | int attr sort_enabled 0x7f01000b
16 | int attr track_drag_sort 0x7f010005
17 | int attr use_default_controller 0x7f010010
18 | int id clickRemove 0x7f020000
19 | int id flingLeft 0x7f020002
20 | int id flingRight 0x7f020001
21 | int id onDown 0x7f020005
22 | int id onLongPress 0x7f020007
23 | int id onMove 0x7f020006
24 | int id slideLeft 0x7f020004
25 | int id slideRight 0x7f020003
26 | int[] styleable DragSortListView { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010 }
27 | int styleable DragSortListView_click_remove_id 15
28 | int styleable DragSortListView_collapsed_height 0
29 | int styleable DragSortListView_drag_enabled 10
30 | int styleable DragSortListView_drag_handle_id 14
31 | int styleable DragSortListView_drag_scroll_start 1
32 | int styleable DragSortListView_drag_start_mode 13
33 | int styleable DragSortListView_drop_animation_duration 9
34 | int styleable DragSortListView_float_alpha 6
35 | int styleable DragSortListView_float_background_color 3
36 | int styleable DragSortListView_max_drag_scroll_speed 2
37 | int styleable DragSortListView_remove_animation_duration 8
38 | int styleable DragSortListView_remove_enabled 12
39 | int styleable DragSortListView_remove_mode 4
40 | int styleable DragSortListView_slide_shuffle_speed 7
41 | int styleable DragSortListView_sort_enabled 11
42 | int styleable DragSortListView_track_drag_sort 5
43 | int styleable DragSortListView_use_default_controller 16
44 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/symbols/test/debug/R.txt:
--------------------------------------------------------------------------------
1 | int attr click_remove_id 0x7f01000f
2 | int attr collapsed_height 0x7f010000
3 | int attr drag_enabled 0x7f01000a
4 | int attr drag_handle_id 0x7f01000e
5 | int attr drag_scroll_start 0x7f010001
6 | int attr drag_start_mode 0x7f01000d
7 | int attr drop_animation_duration 0x7f010009
8 | int attr float_alpha 0x7f010006
9 | int attr float_background_color 0x7f010003
10 | int attr max_drag_scroll_speed 0x7f010002
11 | int attr remove_animation_duration 0x7f010008
12 | int attr remove_enabled 0x7f01000c
13 | int attr remove_mode 0x7f010004
14 | int attr slide_shuffle_speed 0x7f010007
15 | int attr sort_enabled 0x7f01000b
16 | int attr track_drag_sort 0x7f010005
17 | int attr use_default_controller 0x7f010010
18 | int id clickRemove 0x7f020000
19 | int id flingLeft 0x7f020002
20 | int id flingRight 0x7f020001
21 | int id onDown 0x7f020005
22 | int id onLongPress 0x7f020007
23 | int id onMove 0x7f020006
24 | int id slideLeft 0x7f020004
25 | int id slideRight 0x7f020003
26 | int[] styleable DragSortListView { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010 }
27 | int styleable DragSortListView_click_remove_id 15
28 | int styleable DragSortListView_collapsed_height 0
29 | int styleable DragSortListView_drag_enabled 10
30 | int styleable DragSortListView_drag_handle_id 14
31 | int styleable DragSortListView_drag_scroll_start 1
32 | int styleable DragSortListView_drag_start_mode 13
33 | int styleable DragSortListView_drop_animation_duration 9
34 | int styleable DragSortListView_float_alpha 6
35 | int styleable DragSortListView_float_background_color 3
36 | int styleable DragSortListView_max_drag_scroll_speed 2
37 | int styleable DragSortListView_remove_animation_duration 8
38 | int styleable DragSortListView_remove_enabled 12
39 | int styleable DragSortListView_remove_mode 4
40 | int styleable DragSortListView_slide_shuffle_speed 7
41 | int styleable DragSortListView_sort_enabled 11
42 | int styleable DragSortListView_track_drag_sort 5
43 | int styleable DragSortListView_use_default_controller 16
44 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/FragmentSettings.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher;
2 |
3 | import android.app.ActionBar;
4 | import android.os.Bundle;
5 | import android.preference.PreferenceFragment;
6 | import android.support.v7.app.ActionBarActivity;
7 | import android.support.v7.widget.Toolbar;
8 | import android.view.LayoutInflater;
9 | import android.view.MenuItem;
10 | import android.view.View;
11 | import android.view.ViewGroup;
12 | import android.widget.LinearLayout;
13 |
14 | import de.nsvb.taglauncher.util.Log;
15 |
16 | /**
17 | * Created by ns130291 on 23.05.13.
18 | */
19 | public class FragmentSettings extends PreferenceFragment {
20 |
21 | private Toolbar mActionBar;
22 |
23 | @Override
24 | public void onCreate(Bundle savedInstanceState) {
25 | super.onCreate(savedInstanceState);
26 |
27 | setHasOptionsMenu(true);
28 |
29 | addPreferencesFromResource(R.xml.settings);
30 | }
31 |
32 | @Override
33 | public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
34 | View settings = super.onCreateView(inflater, container, savedInstanceState);
35 |
36 | LinearLayout toolbarContainer = (LinearLayout) inflater.inflate(R.layout.fragment_preference, container, false);
37 | toolbarContainer.addView(settings);
38 |
39 | mActionBar = (Toolbar) toolbarContainer.findViewById(R.id.action_bar_toolbar);
40 | ((ActionBarActivity) getActivity()).setSupportActionBar(mActionBar);
41 |
42 | return toolbarContainer;
43 | }
44 |
45 | @Override
46 | public void onResume() {
47 | ((ActionBarActivity) getActivity()).getSupportActionBar().setTitle(R.string.settings);
48 | ((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
49 | super.onResume();
50 | }
51 |
52 | @Override
53 | public boolean onOptionsItemSelected(MenuItem item) {
54 | switch (item.getItemId()) {
55 | case android.R.id.home:
56 | getFragmentManager().popBackStack();
57 | break;
58 | }
59 | return super.onOptionsItemSelected(item);
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/DialogFragmentFirstRun.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher;
2 |
3 | import android.app.Activity;
4 | import android.app.AlertDialog;
5 | import android.app.Dialog;
6 | import android.app.DialogFragment;
7 | import android.content.DialogInterface;
8 | import android.os.Bundle;
9 |
10 | /**
11 | * Created by ns130291 on 17.05.13.
12 | */
13 | public class DialogFragmentFirstRun extends DialogFragment {
14 | public interface FirstRunDialogListener {
15 | public void onFirstRunDialogClick();
16 | }
17 |
18 | private FirstRunDialogListener mListener;
19 |
20 | // Override the Fragment.onAttach() method to instantiate the
21 | // NoticeDialogListener
22 | @Override
23 | public void onAttach(Activity activity) {
24 | super.onAttach(activity);
25 | // Verify that the host activity implements the callback interface
26 | try {
27 | // Instantiate the NoticeDialogListener so we can send events to the
28 | // host
29 | mListener = (FirstRunDialogListener) activity;
30 | } catch (ClassCastException e) {
31 | try {
32 | mListener = (FirstRunDialogListener) getTargetFragment();
33 | } catch (ClassCastException f) {
34 | // The fragment doesn't implement the interface, throw exception
35 | throw new ClassCastException(
36 | activity.toString()
37 | + " must implement NfcDisabledDialogListener (or its fragment)");
38 | }
39 | }
40 | }
41 |
42 | @Override
43 | public Dialog onCreateDialog(Bundle savedInstanceState) {
44 | AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
45 |
46 | builder.setMessage(getResources().getString(R.string.first_run_dialog))
47 | .setNeutralButton(android.R.string.ok, new DialogInterface.OnClickListener() {
48 | @Override
49 | public void onClick(DialogInterface dialog, int which) {
50 | mListener.onFirstRunDialogClick();
51 | }
52 | });
53 | return builder.create();
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_action_bundle_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
18 |
19 |
29 |
30 |
31 |
35 |
36 |
43 |
44 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
13 |
14 |
16 |
19 |
20 |
24 |
25 |
29 |
30 |
31 |
32 |
33 |
34 |
38 |
39 |
40 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/DialogFragmentRename.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher;
2 |
3 | import de.nsvb.taglauncher.R;
4 | import android.app.Activity;
5 | import android.app.AlertDialog;
6 | import android.app.Dialog;
7 | import android.app.DialogFragment;
8 | import android.content.DialogInterface;
9 | import android.os.Bundle;
10 | import android.view.WindowManager;
11 | import android.widget.EditText;
12 |
13 | public class DialogFragmentRename extends DialogFragment {
14 | public final static String NAME = "name";
15 |
16 | public interface RenameDialogListener {
17 | public void onRenameDialogPositiveClick(String name);
18 | }
19 |
20 | private RenameDialogListener mListener;
21 |
22 | // Override the Fragment.onAttach() method to instantiate the
23 | // NoticeDialogListener
24 | @Override
25 | public void onAttach(Activity activity) {
26 | super.onAttach(activity);
27 | // Verify that the host activity implements the callback interface
28 | try {
29 | // Instantiate the NoticeDialogListener so we can send events to the
30 | // host
31 | mListener = (RenameDialogListener) activity;
32 | } catch (ClassCastException e) {
33 | try {
34 | mListener = (RenameDialogListener) getTargetFragment();
35 | } catch (ClassCastException f) {
36 | // The fragment doesn't implement the interface, throw exception
37 | throw new ClassCastException(
38 | activity.toString()
39 | + " must implement RenameDialogListener (or its fragment)");
40 | }
41 | }
42 | }
43 |
44 | @Override
45 | public Dialog onCreateDialog(Bundle savedInstanceState) {
46 | AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
47 |
48 | final EditText edit = new EditText(getActivity());
49 |
50 | String name = getArguments().getString(NAME, "");
51 | edit.setText(name);
52 | edit.setSelection(name.length());
53 |
54 | builder.setView(edit)
55 | .setTitle(R.string.rename_action_bundle)
56 | .setPositiveButton(R.string.rename,
57 | new DialogInterface.OnClickListener() {
58 | @Override
59 | public void onClick(DialogInterface dialog, int id) {
60 | mListener.onRenameDialogPositiveClick(edit.getText()
61 | .toString());
62 | }
63 | })
64 | .setNegativeButton(R.string.cancel,
65 | new DialogInterface.OnClickListener() {
66 | public void onClick(DialogInterface dialog, int id) {
67 | dialog.cancel();
68 | }
69 | });
70 | Dialog dialog = builder.create();
71 | dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
72 | return dialog;
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/list_item_action_drag.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
18 |
19 |
35 |
36 |
37 |
48 |
49 |
50 |
64 |
65 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/DialogFragmentNfcDisabled.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher;
2 |
3 | import android.app.Activity;
4 | import android.app.AlertDialog;
5 | import android.app.Dialog;
6 | import android.app.DialogFragment;
7 | import android.content.DialogInterface;
8 | import android.os.Bundle;
9 |
10 | /**
11 | * Created by ns130291 on 17.05.13.
12 | */
13 | public class DialogFragmentNfcDisabled extends DialogFragment {
14 | public interface NfcDisabledDialogListener {
15 | public void onNfcDisabledDialogPositiveClick();
16 |
17 | public void onNfcDisabledDialogNegativeClick();
18 | }
19 |
20 | private NfcDisabledDialogListener mListener;
21 |
22 | // Override the Fragment.onAttach() method to instantiate the
23 | // NoticeDialogListener
24 | @Override
25 | public void onAttach(Activity activity) {
26 | super.onAttach(activity);
27 | // Verify that the host activity implements the callback interface
28 | try {
29 | // Instantiate the NoticeDialogListener so we can send events to the
30 | // host
31 | mListener = (NfcDisabledDialogListener) activity;
32 | } catch (ClassCastException e) {
33 | try {
34 | mListener = (NfcDisabledDialogListener) getTargetFragment();
35 | } catch (ClassCastException f) {
36 | // The fragment doesn't implement the interface, throw exception
37 | throw new ClassCastException(
38 | activity.toString()
39 | + " must implement NfcDisabledDialogListener (or its fragment)");
40 | }
41 | }
42 | }
43 |
44 | @Override
45 | public Dialog onCreateDialog(Bundle savedInstanceState) {
46 | AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
47 |
48 | builder.setMessage(getResources().getString(R.string.nfc_disabled_dialog))
49 | .setPositiveButton(getResources().getString(R.string.settings), new DialogInterface.OnClickListener() {
50 | @Override
51 | public void onClick(DialogInterface dialog, int which) {
52 | mListener.onNfcDisabledDialogPositiveClick();
53 | }
54 | })
55 | .setNegativeButton(getResources().getString(R.string.skip), new DialogInterface.OnClickListener() {
56 | @Override
57 | public void onClick(DialogInterface dialog, int which) {
58 | mListener.onNfcDisabledDialogNegativeClick();
59 | }
60 | });
61 | return builder.create();
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/DialogFragmentDelete.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher;
2 |
3 | import android.app.Activity;
4 | import android.app.AlertDialog;
5 | import android.app.Dialog;
6 | import android.app.DialogFragment;
7 | import android.content.DialogInterface;
8 | import android.graphics.Typeface;
9 | import android.os.Bundle;
10 | import android.text.SpannableString;
11 | import android.text.style.StyleSpan;
12 | import android.text.style.TypefaceSpan;
13 | import android.view.ContextThemeWrapper;
14 |
15 | public class DialogFragmentDelete extends DialogFragment {
16 | public final static String NAME = "name";
17 |
18 | public interface DeleteDialogListener {
19 | public void onDeleteDialogPositiveClick();
20 | }
21 |
22 | private DeleteDialogListener mListener;
23 |
24 | // Override the Fragment.onAttach() method to instantiate the
25 | // NoticeDialogListener
26 | @Override
27 | public void onAttach(Activity activity) {
28 | super.onAttach(activity);
29 | // Verify that the host activity implements the callback interface
30 | try {
31 | // Instantiate the NoticeDialogListener so we can send events to the
32 | // host
33 | mListener = (DeleteDialogListener) activity;
34 | } catch (ClassCastException e) {
35 | try {
36 | mListener = (DeleteDialogListener) getTargetFragment();
37 | } catch (ClassCastException f) {
38 | // The fragment doesn't implement the interface, throw exception
39 | throw new ClassCastException(
40 | activity.toString()
41 | + " must implement DeleteDialogListener (or its fragment)");
42 | }
43 | }
44 | }
45 |
46 | @Override
47 | public Dialog onCreateDialog(Bundle savedInstanceState) {
48 | AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()/*new ContextThemeWrapper(getActivity(), R.style.material)*/);
49 |
50 | String name = getArguments().getString(NAME, "");
51 | String messageString = String.format(getResources().getString(R.string.delete_action_bundle_dialog), name);
52 | SpannableString message = new SpannableString(messageString);
53 | message.setSpan(new StyleSpan(Typeface.ITALIC), 0, name.length(), 0);
54 | message.setSpan(new TypefaceSpan("sans-serif-light"), 0, name.length(), 0);
55 |
56 | builder.setTitle(R.string.delete_action_bundle_q)
57 | .setMessage(message)
58 | .setPositiveButton(R.string.delete,
59 | new DialogInterface.OnClickListener() {
60 | @Override
61 | public void onClick(DialogInterface dialog, int id) {
62 | mListener.onDeleteDialogPositiveClick();
63 | }
64 | })
65 | .setNegativeButton(R.string.cancel,
66 | new DialogInterface.OnClickListener() {
67 | public void onClick(DialogInterface dialog, int id) {
68 | dialog.cancel();
69 | }
70 | });
71 | return builder.create();
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/list_item_card.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
17 |
18 |
24 |
25 |
37 |
38 |
47 |
48 |
49 |
56 |
57 |
58 |
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/dslv-library/src/main/java/com/mobeta/android/dslv/SimpleFloatViewManager.java:
--------------------------------------------------------------------------------
1 | package com.mobeta.android.dslv;
2 |
3 | import android.graphics.Bitmap;
4 | import android.graphics.Point;
5 | import android.graphics.Color;
6 | import android.widget.ListView;
7 | import android.widget.ImageView;
8 | import android.view.View;
9 | import android.view.ViewGroup;
10 | import android.util.Log;
11 |
12 | /**
13 | * Simple implementation of the FloatViewManager class. Uses list
14 | * items as they appear in the ListView to create the floating View.
15 | */
16 | public class SimpleFloatViewManager implements DragSortListView.FloatViewManager {
17 |
18 | private Bitmap mFloatBitmap;
19 |
20 | private ImageView mImageView;
21 |
22 | private int mFloatBGColor = Color.BLACK;
23 |
24 | private ListView mListView;
25 |
26 | public SimpleFloatViewManager(ListView lv) {
27 | mListView = lv;
28 | }
29 |
30 | public void setBackgroundColor(int color) {
31 | mFloatBGColor = color;
32 | }
33 |
34 | /**
35 | * This simple implementation creates a Bitmap copy of the
36 | * list item currently shown at ListView position.
37 | */
38 | @Override
39 | public View onCreateFloatView(int position) {
40 | // Guaranteed that this will not be null? I think so. Nope, got
41 | // a NullPointerException once...
42 | View v = mListView.getChildAt(position + mListView.getHeaderViewsCount() - mListView.getFirstVisiblePosition());
43 |
44 | if (v == null) {
45 | return null;
46 | }
47 |
48 | v.setPressed(false);
49 |
50 | // Create a copy of the drawing cache so that it does not get
51 | // recycled by the framework when the list tries to clean up memory
52 | //v.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
53 | v.setDrawingCacheEnabled(true);
54 | mFloatBitmap = Bitmap.createBitmap(v.getDrawingCache());
55 | v.setDrawingCacheEnabled(false);
56 |
57 | if (mImageView == null) {
58 | mImageView = new ImageView(mListView.getContext());
59 | }
60 | mImageView.setBackgroundColor(mFloatBGColor);
61 | mImageView.setPadding(0, 0, 0, 0);
62 | mImageView.setImageBitmap(mFloatBitmap);
63 | mImageView.setLayoutParams(new ViewGroup.LayoutParams(v.getWidth(), v.getHeight()));
64 |
65 | return mImageView;
66 | }
67 |
68 | /**
69 | * This does nothing
70 | */
71 | @Override
72 | public void onDragFloatView(View floatView, Point position, Point touch) {
73 | // do nothing
74 | }
75 |
76 | /**
77 | * Removes the Bitmap from the ImageView created in
78 | * onCreateFloatView() and tells the system to recycle it.
79 | */
80 | @Override
81 | public void onDestroyFloatView(View floatView) {
82 | ((ImageView) floatView).setImageDrawable(null);
83 |
84 | mFloatBitmap.recycle();
85 | mFloatBitmap = null;
86 | }
87 |
88 | }
89 |
90 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/incremental/mergeResources/test/debug/merger.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/FragmentAllActions.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | import android.app.Activity;
7 | import android.app.ListFragment;
8 | import android.content.Context;
9 | import android.content.Intent;
10 | import android.os.Bundle;
11 | import android.support.v7.app.ActionBarActivity;
12 | import android.view.LayoutInflater;
13 | import android.view.MenuItem;
14 | import android.view.View;
15 | import android.view.ViewGroup;
16 | import android.widget.ArrayAdapter;
17 | import android.widget.ImageView;
18 | import android.widget.ListView;
19 | import android.widget.TextView;
20 | import de.nsvb.taglauncher.action.Action;
21 | import de.nsvb.taglauncher.action.ActionID;
22 | import de.nsvb.taglauncher.action.ExtendedAction;
23 | import de.nsvb.taglauncher.ui.ActionListAdapter;
24 | import de.nsvb.taglauncher.util.Log;
25 |
26 | public class FragmentAllActions extends ListFragment {
27 |
28 | private static List mActionList;
29 | private OnExtendedActionSelectedListener mCallback;
30 |
31 | public interface OnExtendedActionSelectedListener{
32 | public void onExtendedActionSelected(ExtendedAction action);
33 | }
34 |
35 | @Override
36 | public void onAttach(Activity activity) {
37 | super.onAttach(activity);
38 |
39 | // This makes sure that the container activity has implemented
40 | // the callback interface. If not, it throws an exception
41 | try {
42 | mCallback = (OnExtendedActionSelectedListener) activity;
43 | } catch (ClassCastException e) {
44 | throw new ClassCastException(activity.toString()
45 | + " must implement OnExtendedActionSelectedListener");
46 | }
47 | }
48 |
49 | @Override
50 | public void onListItemClick(ListView l, View v, int position, long id) {
51 | if (mActionList.get(position).isExtended()) {
52 | mCallback.onExtendedActionSelected((ExtendedAction) mActionList.get(position));
53 | } else {
54 | Intent returnIntent = new Intent();
55 | returnIntent.putExtra("action", mActionList.get(position));
56 | getActivity().setResult(Activity.RESULT_OK, returnIntent);
57 | getActivity().finish();
58 | }
59 | }
60 |
61 | @Override
62 | public void onCreate(Bundle savedInstanceState) {
63 | super.onCreate(savedInstanceState);
64 |
65 | ((ActionBarActivity) getActivity()).getSupportActionBar().setTitle(R.string.title_activity_activity_all_actions);
66 |
67 | ((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
68 | setHasOptionsMenu(true);
69 |
70 | mActionList = new ActionID().getActionList();
71 |
72 | setListAdapter(new ActionListAdapter(getActivity(),
73 | R.layout.list_item_action_all, (ArrayList) mActionList));
74 | }
75 |
76 | @Override
77 | public boolean onOptionsItemSelected(MenuItem item) {
78 | Log.d("up selected");
79 | switch (item.getItemId()) {
80 | case android.R.id.home:
81 | Intent returnIntent = new Intent();
82 | getActivity().setResult(Activity.RESULT_CANCELED, returnIntent);
83 | getActivity().finish();
84 | break;
85 | default:
86 | break;
87 | }
88 | return super.onOptionsItemSelected(item);
89 | }
90 | }
91 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/incremental/packageResources/debug/merger.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/dslv-library/build/intermediates/incremental/packageResources/release/merger.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/view_tag_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
17 |
18 |
25 |
26 |
32 |
33 |
44 |
45 |
53 |
54 |
55 |
62 |
63 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/dslv-library/build/generated/source/r/test/debug/com/mobeta/android/dslv/R.java:
--------------------------------------------------------------------------------
1 | /* AUTO-GENERATED FILE. DO NOT MODIFY.
2 | *
3 | * This class was automatically generated by the
4 | * aapt tool from the resource data it found. It
5 | * should not be modified by hand.
6 | */
7 | package com.mobeta.android.dslv;
8 |
9 | public final class R {
10 | public static final class attr {
11 | public static final int click_remove_id = 0x7f01000f;
12 | public static final int collapsed_height = 0x7f010000;
13 | public static final int drag_enabled = 0x7f01000a;
14 | public static final int drag_handle_id = 0x7f01000e;
15 | public static final int drag_scroll_start = 0x7f010001;
16 | public static final int drag_start_mode = 0x7f01000d;
17 | public static final int drop_animation_duration = 0x7f010009;
18 | public static final int float_alpha = 0x7f010006;
19 | public static final int float_background_color = 0x7f010003;
20 | public static final int max_drag_scroll_speed = 0x7f010002;
21 | public static final int remove_animation_duration = 0x7f010008;
22 | public static final int remove_enabled = 0x7f01000c;
23 | public static final int remove_mode = 0x7f010004;
24 | public static final int slide_shuffle_speed = 0x7f010007;
25 | public static final int sort_enabled = 0x7f01000b;
26 | public static final int track_drag_sort = 0x7f010005;
27 | public static final int use_default_controller = 0x7f010010;
28 | }
29 | public static final class id {
30 | public static final int clickRemove = 0x7f020000;
31 | public static final int flingLeft = 0x7f020002;
32 | public static final int flingRight = 0x7f020001;
33 | public static final int onDown = 0x7f020005;
34 | public static final int onLongPress = 0x7f020007;
35 | public static final int onMove = 0x7f020006;
36 | public static final int slideLeft = 0x7f020004;
37 | public static final int slideRight = 0x7f020003;
38 | }
39 | public static final class styleable {
40 | public static final int[] DragSortListView = { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010 };
41 | public static final int DragSortListView_click_remove_id = 15;
42 | public static final int DragSortListView_collapsed_height = 0;
43 | public static final int DragSortListView_drag_enabled = 10;
44 | public static final int DragSortListView_drag_handle_id = 14;
45 | public static final int DragSortListView_drag_scroll_start = 1;
46 | public static final int DragSortListView_drag_start_mode = 13;
47 | public static final int DragSortListView_drop_animation_duration = 9;
48 | public static final int DragSortListView_float_alpha = 6;
49 | public static final int DragSortListView_float_background_color = 3;
50 | public static final int DragSortListView_max_drag_scroll_speed = 2;
51 | public static final int DragSortListView_remove_animation_duration = 8;
52 | public static final int DragSortListView_remove_enabled = 12;
53 | public static final int DragSortListView_remove_mode = 4;
54 | public static final int DragSortListView_slide_shuffle_speed = 7;
55 | public static final int DragSortListView_sort_enabled = 11;
56 | public static final int DragSortListView_track_drag_sort = 5;
57 | public static final int DragSortListView_use_default_controller = 16;
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/action/ActionID.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.action;
2 |
3 | import java.lang.reflect.Field;
4 | import java.util.ArrayList;
5 | import java.util.Collections;
6 | import java.util.List;
7 |
8 | import de.nsvb.taglauncher.util.Log;
9 |
10 |
11 | public class ActionID {
12 | public static final byte EMPTY = 0x00;
13 | public static final byte WLAN_ON = 0x01;
14 | public static final byte WLAN_OFF = 0x02;
15 | public static final byte WLAN_TOGGLE = 0x03;
16 | public static final byte BLUETOOTH_ON = 0x04;
17 | public static final byte BLUETOOTH_OFF = 0x05;
18 | public static final byte BLUETOOTH_TOGGLE = 0x06;
19 | public static final byte BLUETOOTH_CONNECT = 0x07;
20 | public static final byte BLUETOOTH_DISCONNECT = 0x08;
21 | public static final byte GPS_ON = 0x09;
22 | public static final byte GPS_OFF = 0x0A;
23 | public static final byte GPS_TOGGLE = 0x0B;
24 | public static final byte MOBILE_DATA_ON = 0x0C;
25 | public static final byte MOBILE_DATA_OFF = 0x0D;
26 | public static final byte MOBILE_DATA_TOGGLE = 0x0E;
27 | public static final byte FLIGHT_MODE_ON = 0x0F;
28 | public static final byte FLIGHT_MODE_OFF = 0x10;
29 | public static final byte FLIGHT_MODE_TOGGLE = 0x11;
30 | public static final byte RINGER_SILENT = 0x12;
31 | public static final byte RINGER_VIBRATE = 0x13;
32 | public static final byte RINGER_NORMAL = 0x14;
33 | public static final byte MEDIA_VOLUME = 0x15;
34 |
35 | public static final byte LAUNCH_APP = 0x20;
36 |
37 | public static final byte MEDIA_PLAY = 0x24;
38 | public static final byte MEDIA_PAUSE = 0x25;
39 |
40 | /**
41 | * Gibt entsprechend zu {@code id} die dazugehörige Aktion zurück
42 | *
43 | * @param id Ein Wert aus {@link de.nsvb.taglauncher.action.ActionID}
44 | * @return Aktion
45 | */
46 | public static Action getAction(byte id) {
47 | switch (id) {
48 | case EMPTY:
49 | return null;
50 | case WLAN_ON:
51 | return new WlanOn();
52 | case WLAN_OFF:
53 | return new WlanOff();
54 | case WLAN_TOGGLE:
55 | return new WlanToggle();
56 | case BLUETOOTH_ON:
57 | return new BluetoothOn();
58 | case BLUETOOTH_OFF:
59 | return new BluetoothOff();
60 | case BLUETOOTH_TOGGLE:
61 | return new BluetoothToggle();
62 | case RINGER_SILENT:
63 | return new RingerSilent();
64 | case RINGER_VIBRATE:
65 | return new RingerVibrate();
66 | case RINGER_NORMAL:
67 | return new RingerNormal();
68 | case MEDIA_VOLUME:
69 | return new MediaVolume();
70 | case LAUNCH_APP:
71 | return new LaunchApp();
72 | case MEDIA_PLAY:
73 | return new MediaPlay();
74 | case MEDIA_PAUSE:
75 | return new MediaPause();
76 | default:
77 | Log.d(id + " is not implemented");
78 | return null;
79 | }
80 | }
81 |
82 | //darf nicht static sein, getClass() ist sonst nicht möglich
83 | /**
84 | * Lädt eine Liste aller verfügbaren Aktionen
85 | *
86 | * @return Liste aller verfügbaren Aktionen, leer wenn keine Aktionen vorhanden
87 | */
88 | public List getActionList() {
89 | Field[] fields = ActionID.class.getFields();
90 | List actions = new ArrayList();
91 | for (Field field : fields) {
92 | try {
93 | Action temp = getAction(field.getByte(getClass()));
94 | if (temp != null) {
95 | actions.add(temp);
96 | }
97 | } catch (IllegalArgumentException e) {
98 | e.printStackTrace();
99 | } catch (IllegalAccessException e) {
100 | e.printStackTrace();
101 | }
102 | }
103 | Collections.sort(actions);
104 | return actions;
105 | }
106 | }
107 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/ActivityExecuteTag.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher;
2 |
3 | import java.math.BigInteger;
4 | import java.util.ArrayList;
5 |
6 | import android.app.Activity;
7 | import android.app.ListActivity;
8 | import android.content.Intent;
9 | import android.content.SharedPreferences;
10 | import android.nfc.NdefMessage;
11 | import android.nfc.NdefRecord;
12 | import android.nfc.NfcAdapter;
13 | import android.nfc.Tag;
14 | import android.nfc.tech.Ndef;
15 | import android.os.Bundle;
16 | import android.preference.PreferenceManager;
17 | import android.view.Menu;
18 | import android.view.View;
19 | import android.widget.Button;
20 | import android.widget.RelativeLayout;
21 | import android.widget.Toast;
22 | import de.nsvb.taglauncher.action.Action;
23 | import de.nsvb.taglauncher.action.ActionBundle;
24 | import de.nsvb.taglauncher.ui.ActionListAdapter;
25 | import de.nsvb.taglauncher.util.Log;
26 | import de.nsvb.taglauncher.R;
27 |
28 | public class ActivityExecuteTag extends ListActivity {
29 |
30 | @Override
31 | protected void onCreate(Bundle savedInstanceState) {
32 | super.onCreate(savedInstanceState);
33 |
34 | SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
35 |
36 | Intent intent = getIntent();
37 | Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
38 | Ndef ndefTag = Ndef.get(tag);
39 |
40 | NdefMessage ndefMessage = ndefTag.getCachedNdefMessage();
41 |
42 | if (ndefMessage != null) {
43 | NdefRecord[] ndefRecords = ndefMessage.getRecords();
44 | if (ndefRecords.length > 0) {
45 | byte[] message = ndefRecords[0].getPayload();
46 |
47 | Log.d(toHex(message));
48 |
49 | if (message.length > 0) {
50 | final ActionBundle actionBundle = new ActionBundle(getApplicationContext());
51 | actionBundle.init(message);
52 | if (sharedPref.getBoolean("show_executed_actions", false)) {
53 | Log.d("## aktionen anzeigen");
54 | setTheme(android.R.style.Theme_Holo_Light_Dialog);
55 | setContentView(R.layout.activity_execute_tag);
56 | setListAdapter(new ActionListAdapter(this,
57 | R.layout.list_item_action_all, (ArrayList) actionBundle.getActionList()));
58 |
59 | Button ok = (Button) findViewById(R.id.ok);
60 | ok.setOnClickListener(new View.OnClickListener() {
61 | @Override
62 | public void onClick(View v) {
63 | if (actionBundle.execute()) {
64 | Toast.makeText(getApplicationContext(), R.string.tag_execute_success, Toast.LENGTH_LONG).show();
65 | } else {
66 | Toast.makeText(getApplicationContext(), R.string.tag_execute_failure, Toast.LENGTH_LONG).show();
67 | }
68 | finish();
69 | }
70 | });
71 | }else{
72 | if (actionBundle.execute()) {
73 | Toast.makeText(getApplicationContext(), R.string.tag_execute_success, Toast.LENGTH_LONG).show();
74 | } else {
75 | Toast.makeText(getApplicationContext(), R.string.tag_execute_failure, Toast.LENGTH_LONG).show();
76 | }
77 | finish();
78 | }
79 | }
80 | }
81 | }
82 | }
83 |
84 | private static String toHex(byte[] bytes) {
85 | if (bytes.length == 0) {
86 | return "leer";
87 | }
88 | BigInteger bi = new BigInteger(1, bytes);
89 | return String.format("%0" + (bytes.length << 1) + "X", bi);
90 | }
91 |
92 | }
93 |
--------------------------------------------------------------------------------
/dslv-library/src/main/java/com/mobeta/android/dslv/DragSortItemView.java:
--------------------------------------------------------------------------------
1 | package com.mobeta.android.dslv;
2 |
3 | import android.content.Context;
4 | import android.view.Gravity;
5 | import android.view.View;
6 | import android.view.View.MeasureSpec;
7 | import android.view.ViewGroup;
8 | import android.widget.AbsListView;
9 | import android.widget.Checkable;
10 | import android.util.Log;
11 |
12 | /**
13 | * Lightweight ViewGroup that wraps list items obtained from user's
14 | * ListAdapter. ItemView expects a single child that has a definite
15 | * height (i.e. the child's layout height is not MATCH_PARENT).
16 | * The width of
17 | * ItemView will always match the width of its child (that is,
18 | * the width MeasureSpec given to ItemView is passed directly
19 | * to the child, and the ItemView measured width is set to the
20 | * child's measured width). The height of ItemView can be anything;
21 | * the
22 | *
23 | *
24 | * The purpose of this class is to optimize slide
25 | * shuffle animations.
26 | */
27 | public class DragSortItemView extends ViewGroup implements Checkable {
28 |
29 | private int mGravity = Gravity.TOP;
30 |
31 | public DragSortItemView(Context context) {
32 | super(context);
33 |
34 | // always init with standard ListView layout params
35 | setLayoutParams(new AbsListView.LayoutParams(
36 | ViewGroup.LayoutParams.FILL_PARENT,
37 | ViewGroup.LayoutParams.WRAP_CONTENT));
38 |
39 | //setClipChildren(true);
40 | }
41 |
42 | public void setGravity(int gravity) {
43 | mGravity = gravity;
44 | }
45 |
46 | public int getGravity() {
47 | return mGravity;
48 | }
49 |
50 | @Override
51 | protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
52 | final View child = getChildAt(0);
53 |
54 | if (child == null) {
55 | return;
56 | }
57 |
58 | if (mGravity == Gravity.TOP) {
59 | child.layout(0, 0, getMeasuredWidth(), child.getMeasuredHeight());
60 | } else {
61 | child.layout(0, getMeasuredHeight() - child.getMeasuredHeight(), getMeasuredWidth(), getMeasuredHeight());
62 | }
63 | }
64 |
65 | /**
66 | *
67 | */
68 | @Override
69 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
70 |
71 | int height = MeasureSpec.getSize(heightMeasureSpec);
72 | int width = MeasureSpec.getSize(widthMeasureSpec);
73 |
74 | int heightMode = MeasureSpec.getMode(heightMeasureSpec);
75 |
76 | final View child = getChildAt(0);
77 | if (child == null) {
78 | setMeasuredDimension(0, width);
79 | return;
80 | }
81 |
82 | if (child.isLayoutRequested()) {
83 | // Always let child be as tall as it wants.
84 | measureChild(child, widthMeasureSpec,
85 | MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
86 | }
87 |
88 | if (heightMode == MeasureSpec.UNSPECIFIED) {
89 | ViewGroup.LayoutParams lp = getLayoutParams();
90 |
91 | if (lp.height > 0) {
92 | height = lp.height;
93 | } else {
94 | height = child.getMeasuredHeight();
95 | }
96 | }
97 |
98 | setMeasuredDimension(width, height);
99 | }
100 |
101 | @Override
102 | public boolean isChecked() {
103 | View child = getChildAt(0);
104 | if (child instanceof Checkable)
105 | return ((Checkable) child).isChecked();
106 | else
107 | return false;
108 | }
109 |
110 | @Override
111 | public void setChecked(boolean checked) {
112 | View child = getChildAt(0);
113 | if (child instanceof Checkable)
114 | ((Checkable) child).setChecked(checked);
115 | }
116 |
117 | @Override
118 | public void toggle() {
119 | View child = getChildAt(0);
120 | if (child instanceof Checkable)
121 | ((Checkable) child).toggle();
122 | }
123 | }
124 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/action/MediaVolume.java:
--------------------------------------------------------------------------------
1 | package de.nsvb.taglauncher.action;
2 |
3 | import android.content.Context;
4 | import android.media.AudioManager;
5 | import android.os.Parcel;
6 | import android.os.Parcelable;
7 | import android.view.View;
8 | import android.widget.SeekBar;
9 | import de.nsvb.taglauncher.ActivityExecuteTag;
10 | import de.nsvb.taglauncher.R;
11 | import de.nsvb.taglauncher.util.Log;
12 |
13 | public class MediaVolume extends ExtendedAction {
14 |
15 | private int mVolume = -1;
16 |
17 | public MediaVolume() {
18 | super();
19 | mImageResource = R.drawable.ic_volume_up_white_24dp;
20 | mMessage.add(ActionID.MEDIA_VOLUME);
21 | mMessage.add((byte) 128);
22 | mView = R.layout.ac_media_volume;
23 | }
24 |
25 | /**
26 | * Volume between 0 and 255 (0xFF)
27 | *
28 | * @param volume
29 | */
30 | public void setVolume(int volume) {
31 | mVolume = volume;
32 | if (mVolume < 0) {
33 | mVolume = mVolume + 256;
34 | }
35 | //Log.d("mVolume " + mVolume);
36 | if (mMessage.size() > 1) {
37 | mMessage.remove(1);
38 | }
39 | if (mVolume >= 0 && mVolume <= 255) {
40 | mMessage.add((byte) mVolume);
41 | }
42 | }
43 |
44 | public int getVolume() {
45 | return mVolume;
46 | }
47 |
48 | @Override
49 | public boolean execute(Context ctx) {
50 | AudioManager am = (AudioManager) ctx
51 | .getSystemService(Context.AUDIO_SERVICE);
52 | int maxVol = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
53 | double factor = maxVol / 255.0;
54 | int vol = (int) Math.round(factor * mVolume);
55 | am.setStreamVolume(AudioManager.STREAM_MUSIC, vol, 0);
56 | return true;
57 | }
58 |
59 | @Override
60 | public String getDescription(Context ctx) {
61 | if (mVolume == -1) {
62 | return String.format(ctx.getString(R.string.ac_media_volume), "");
63 | } else {
64 | double factor = 100 / 255.0;
65 | int vol = (int) Math.round(factor * mVolume);
66 | return String.format(ctx.getString(R.string.ac_media_volume), vol
67 | + "%");
68 | }
69 | }
70 |
71 | @Override
72 | public ExtendedAction saveUserInput(View v) {
73 | SeekBar seekBar = (SeekBar) v.findViewById(R.id.volume);
74 | setVolume(seekBar.getProgress());
75 | return this;
76 | }
77 |
78 | @Override
79 | public void addInteractionToView(View v, Context ctx) {
80 | SeekBar seekBar = (SeekBar) v.findViewById(R.id.volume);
81 | if (mVolume == -1) {
82 | seekBar.setProgress(128);
83 | } else {
84 | seekBar.setProgress(mVolume);
85 | }
86 | }
87 |
88 | @Override
89 | public String getActivityDescription(Context ctx) {
90 | return String.format(ctx.getString(R.string.ac_media_volume), "");
91 | }
92 |
93 | @Override
94 | protected Object clone() throws CloneNotSupportedException {
95 | Class extends MediaVolume> classAction = this.getClass();
96 | MediaVolume newA;
97 | try {
98 | newA = classAction.newInstance();
99 | newA.setVolume(mVolume);
100 | } catch (InstantiationException e) {
101 | e.printStackTrace();
102 | throw new CloneNotSupportedException();
103 | } catch (IllegalAccessException e) {
104 | e.printStackTrace();
105 | throw new CloneNotSupportedException();
106 | }
107 | return newA;
108 | }
109 |
110 | @Override
111 | public void init(Context ctx, byte[] message) {
112 | //Log.d("+MediaVolume+ init-message "
113 | // + ActivityExecuteTag.toHex(message) + " "
114 | // + message.length);
115 | setVolume(message[0]);
116 | //Log.d("+MediaVolume+ after init "
117 | // + mMessage.get(1) + " "
118 | // + mMessage.size());
119 | }
120 |
121 | // Parcel functions
122 |
123 | @Override
124 | public void writeToParcel(Parcel out, int flags) {
125 | out.writeInt(mVolume);
126 | }
127 |
128 | public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
129 | public MediaVolume createFromParcel(Parcel in) {
130 | return new MediaVolume(in);
131 | }
132 |
133 | public MediaVolume[] newArray(int size) {
134 | return new MediaVolume[size];
135 | }
136 | };
137 |
138 | private MediaVolume(Parcel in) {
139 | this();
140 | setVolume(in.readInt());
141 | }
142 |
143 | }
144 |
--------------------------------------------------------------------------------
/app/src/main/java/de/nsvb/taglauncher/ui/DragGripViewMaterial.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package de.nsvb.taglauncher.ui;
18 |
19 | import android.content.Context;
20 | import android.content.res.Resources;
21 | import android.content.res.TypedArray;
22 | import android.graphics.Canvas;
23 | import android.graphics.Paint;
24 | import android.util.AttributeSet;
25 | import android.view.Gravity;
26 | import android.view.View;
27 |
28 | import de.nsvb.taglauncher.R;
29 | import de.nsvb.taglauncher.util.Log;
30 |
31 | public class DragGripViewMaterial extends View {
32 | private static final int[] ATTRS = new int[]{
33 | android.R.attr.gravity,
34 | android.R.attr.color,
35 | };
36 |
37 | private int mGravity = Gravity.START;
38 | private int mColor = 0x8a000000;
39 |
40 | private Paint mGripPaint;
41 |
42 | private float mGripHeight;
43 |
44 | private int mWidth;
45 | private int mHeight;
46 |
47 | public DragGripViewMaterial(Context context) {
48 | this(context, null, 0);
49 | }
50 |
51 | public DragGripViewMaterial(Context context, AttributeSet attrs) {
52 | this(context, attrs, 0);
53 | }
54 |
55 | public DragGripViewMaterial(Context context, AttributeSet attrs, int defStyle) {
56 | super(context, attrs, defStyle);
57 |
58 | final TypedArray a = context.obtainStyledAttributes(attrs, ATTRS);
59 | mGravity = a.getInteger(0, mGravity);
60 | mColor = a.getColor(1, mColor);
61 | a.recycle();
62 |
63 | final Resources res = getResources();
64 | mGripHeight = res.getDimensionPixelSize(R.dimen.drag_grip_height);
65 |
66 | mGripPaint = new Paint();
67 | mGripPaint.setColor(mColor);
68 | }
69 |
70 | @Override
71 | protected void onDraw(Canvas canvas) {
72 | super.onDraw(canvas);
73 |
74 | float drawWidth = (mWidth - getPaddingLeft() - getPaddingRight());
75 | float drawLeft;
76 |
77 | switch (Gravity.getAbsoluteGravity(mGravity, LAYOUT_DIRECTION_RTL)
78 | & Gravity.HORIZONTAL_GRAVITY_MASK) {
79 | case Gravity.CENTER_HORIZONTAL:
80 | drawLeft = getPaddingLeft()
81 | + ((mWidth - getPaddingLeft() - getPaddingRight()) - drawWidth) / 2;
82 | break;
83 | case Gravity.RIGHT:
84 | drawLeft = getWidth() - getPaddingRight() - drawWidth;
85 | break;
86 | default:
87 | drawLeft = getPaddingLeft();
88 | }
89 |
90 | int vertRidges = 3;
91 | float drawHeight = (mHeight - getPaddingTop() - getPaddingBottom());
92 | float drawTop = getPaddingTop()
93 | + ((mHeight - getPaddingTop() - getPaddingBottom()) - drawHeight) / 2;
94 |
95 | float intermediateHeight = (drawHeight - vertRidges * mGripHeight) / 2;
96 |
97 | Log.d("drawHeight=" + drawHeight);
98 | Log.d("intermediateHeight=" + intermediateHeight);
99 | Log.d("mGripHeight=" + mGripHeight);
100 |
101 | for (int y = 0; y < vertRidges; y++) {
102 | canvas.drawRect(
103 | drawLeft,
104 | drawTop + y * (intermediateHeight + mGripHeight),
105 | drawLeft + drawWidth,
106 | drawTop + y * (intermediateHeight + mGripHeight) + mGripHeight,
107 | mGripPaint);
108 | }
109 | }
110 |
111 | @Override
112 | protected void onSizeChanged(int w, int h, int oldw, int oldh) {
113 | super.onSizeChanged(w, h, oldw, oldh);
114 | mHeight = h;
115 | mWidth = w;
116 | }
117 | }
118 |
--------------------------------------------------------------------------------