├── .gitignore ├── ImageFilterApp ├── app │ ├── build.gradle │ ├── libs │ │ ├── imagefilter-v1.0.1.jar │ │ └── sdk-v1.0.0.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── akexorcist │ │ │ └── imagefilterapp │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── akexorcist │ │ │ │ └── imagefilterapp │ │ │ │ └── MainActivity.java │ │ ├── jniLibs │ │ │ └── armeabi │ │ │ │ └── libImageFilterLibs.so │ │ └── res │ │ │ ├── drawable-nodpi │ │ │ └── sample.jpg │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── akexorcist │ │ └── imagefilterapp │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties └── settings.gradle ├── KNOXGeofencingApp ├── app │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── akexorcist │ │ │ └── knoxgeofencingapp │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── akexorcist │ │ │ │ └── knoxgeofencingapp │ │ │ │ ├── ActivationActivity.java │ │ │ │ ├── DoSomethingActivity.java │ │ │ │ ├── GeofencingReceiver.java │ │ │ │ ├── bus │ │ │ │ ├── BusProvider.java │ │ │ │ └── event │ │ │ │ │ ├── InsideGeofenceEvent.java │ │ │ │ │ ├── LocationUnavailableEvent.java │ │ │ │ │ └── OutsideGeofenceEvent.java │ │ │ │ └── manager │ │ │ │ ├── DialogManager.java │ │ │ │ ├── SharedPreferenceManager.java │ │ │ │ └── ToastManager.java │ │ └── res │ │ │ ├── drawable-hdpi │ │ │ └── ic_launcher_geofencing.png │ │ │ ├── drawable-mdpi │ │ │ └── ic_launcher_geofencing.png │ │ │ ├── drawable-xhdpi │ │ │ └── ic_launcher_geofencing.png │ │ │ ├── drawable-xxhdpi │ │ │ └── ic_launcher_geofencing.png │ │ │ ├── drawable-xxxhdpi │ │ │ └── ic_launcher_geofencing.png │ │ │ ├── drawable │ │ │ ├── selector_round_button_accent.xml │ │ │ ├── shape_round_button_accent_disable.xml │ │ │ ├── shape_round_button_accent_normal.xml │ │ │ └── shape_round_button_accent_pressed.xml │ │ │ ├── layout │ │ │ ├── activity_activation.xml │ │ │ └── activity_do_something.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── akexorcist │ │ └── knoxgeofencingapp │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── knoxActivator │ ├── build.gradle │ ├── libs │ │ ├── edm.jar │ │ ├── license.jar │ │ └── rc.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── akexorcist │ │ │ └── knoxactivator │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── akexorcist │ │ │ │ └── knoxactivator │ │ │ │ ├── ActivationCallback.java │ │ │ │ ├── KnoxActivationBus.java │ │ │ │ ├── KnoxActivationManager.java │ │ │ │ ├── event │ │ │ │ ├── AdminDeactivatedEvent.java │ │ │ │ ├── LicenseActivatedEvent.java │ │ │ │ └── LicenseActivationFailedEvent.java │ │ │ │ └── receiver │ │ │ │ ├── AdminActivationReceiver.java │ │ │ │ └── LicenseActivationReceiver.java │ │ └── res │ │ │ ├── values │ │ │ └── strings.xml │ │ │ └── xml │ │ │ └── enterprise_device_admin.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── akexorcist │ │ └── knoxactivator │ │ └── ExampleUnitTest.java └── settings.gradle ├── KNOXKioskApp ├── app │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── akexorcist │ │ │ └── knoxkioskapp │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── akexorcist │ │ │ │ └── knoxkioskapp │ │ │ │ ├── ActivationActivity.java │ │ │ │ ├── DoSomethingActivity.java │ │ │ │ ├── KIOSKReceiver.java │ │ │ │ └── manager │ │ │ │ ├── DialogManager.java │ │ │ │ ├── SharedPreferenceManager.java │ │ │ │ └── ToastManager.java │ │ └── res │ │ │ ├── drawable-hdpi │ │ │ └── ic_launcher_kiosk.png │ │ │ ├── drawable-mdpi │ │ │ └── ic_launcher_kiosk.png │ │ │ ├── drawable-xhdpi │ │ │ └── ic_launcher_kiosk.png │ │ │ ├── drawable-xxhdpi │ │ │ └── ic_launcher_kiosk.png │ │ │ ├── drawable-xxxhdpi │ │ │ └── ic_launcher_kiosk.png │ │ │ ├── drawable │ │ │ ├── selector_round_button_accent.xml │ │ │ ├── shape_round_button_accent_disable.xml │ │ │ ├── shape_round_button_accent_normal.xml │ │ │ └── shape_round_button_accent_pressed.xml │ │ │ ├── layout │ │ │ ├── activity_activation.xml │ │ │ └── activity_do_something.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── akexorcist │ │ └── knoxkioskapp │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── knoxActivator │ ├── build.gradle │ ├── libs │ │ ├── edm.jar │ │ ├── license.jar │ │ └── rc.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── akexorcist │ │ │ └── knoxactivator │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── akexorcist │ │ │ │ └── knoxactivator │ │ │ │ ├── ActivationCallback.java │ │ │ │ ├── KnoxActivationBus.java │ │ │ │ ├── KnoxActivationManager.java │ │ │ │ ├── event │ │ │ │ ├── AdminDeactivatedEvent.java │ │ │ │ ├── LicenseActivatedEvent.java │ │ │ │ └── LicenseActivationFailedEvent.java │ │ │ │ └── receiver │ │ │ │ ├── AdminActivationReceiver.java │ │ │ │ └── LicenseActivationReceiver.java │ │ └── res │ │ │ ├── values │ │ │ └── strings.xml │ │ │ └── xml │ │ │ └── enterprise_device_admin.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── akexorcist │ │ └── knoxactivator │ │ └── ExampleUnitTest.java └── settings.gradle ├── KNOXLSOApp ├── app │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── akexorcist │ │ │ └── knoxgeofencingapp │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── assets │ │ │ └── akexorcist_logo.png │ │ ├── java │ │ │ └── com │ │ │ │ └── akexorcist │ │ │ │ └── knoxlsoapp │ │ │ │ ├── ActivationActivity.java │ │ │ │ ├── DoSomethingActivity.java │ │ │ │ └── manager │ │ │ │ ├── DialogManager.java │ │ │ │ ├── FileAssetManager.java │ │ │ │ ├── SharedPreferenceManager.java │ │ │ │ └── ToastManager.java │ │ └── res │ │ │ ├── drawable-hdpi │ │ │ └── ic_launcher_lso.png │ │ │ ├── drawable-mdpi │ │ │ └── ic_launcher_lso.png │ │ │ ├── drawable-xhdpi │ │ │ └── ic_launcher_lso.png │ │ │ ├── drawable-xxhdpi │ │ │ └── ic_launcher_lso.png │ │ │ ├── drawable-xxxhdpi │ │ │ └── ic_launcher_lso.png │ │ │ ├── drawable │ │ │ ├── selector_round_button_accent.xml │ │ │ ├── shape_round_button_accent_disable.xml │ │ │ ├── shape_round_button_accent_normal.xml │ │ │ └── shape_round_button_accent_pressed.xml │ │ │ ├── layout │ │ │ ├── activity_activation.xml │ │ │ └── activity_do_something.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── akexorcist │ │ └── knoxgeofencingapp │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── knoxActivator │ ├── build.gradle │ ├── libs │ │ ├── edm.jar │ │ ├── license.jar │ │ └── rc.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── akexorcist │ │ │ └── knoxactivator │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── akexorcist │ │ │ │ └── knoxactivator │ │ │ │ ├── ActivationCallback.java │ │ │ │ ├── KnoxActivationBus.java │ │ │ │ ├── KnoxActivationManager.java │ │ │ │ ├── event │ │ │ │ ├── AdminDeactivatedEvent.java │ │ │ │ ├── LicenseActivatedEvent.java │ │ │ │ └── LicenseActivationFailedEvent.java │ │ │ │ └── receiver │ │ │ │ ├── AdminActivationReceiver.java │ │ │ │ └── LicenseActivationReceiver.java │ │ └── res │ │ │ ├── values │ │ │ └── strings.xml │ │ │ └── xml │ │ │ └── enterprise_device_admin.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── akexorcist │ │ └── knoxactivator │ │ └── ExampleUnitTest.java └── settings.gradle ├── KNOXPolicyApp ├── app │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── akexorcist │ │ │ └── knoxpolicyapp │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── akexorcist │ │ │ │ └── knoxpolicyapp │ │ │ │ ├── ActivationActivity.java │ │ │ │ ├── DoSomethingActivity.java │ │ │ │ └── manager │ │ │ │ ├── DialogManager.java │ │ │ │ ├── SharedPreferenceManager.java │ │ │ │ └── ToastManager.java │ │ └── res │ │ │ ├── drawable │ │ │ ├── selector_round_button_accent.xml │ │ │ ├── shape_round_button_accent_disable.xml │ │ │ ├── shape_round_button_accent_normal.xml │ │ │ └── shape_round_button_accent_pressed.xml │ │ │ ├── layout │ │ │ ├── activity_activation.xml │ │ │ └── activity_do_something.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── akexorcist │ │ └── knoxpolicyapp │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── knoxActivator │ ├── build.gradle │ ├── libs │ │ ├── edm.jar │ │ ├── license.jar │ │ └── rc.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── akexorcist │ │ │ └── knoxactivator │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── akexorcist │ │ │ │ └── knoxactivator │ │ │ │ ├── ActivationCallback.java │ │ │ │ ├── KnoxActivationBus.java │ │ │ │ ├── KnoxActivationManager.java │ │ │ │ ├── event │ │ │ │ ├── AdminDeactivatedEvent.java │ │ │ │ ├── LicenseActivatedEvent.java │ │ │ │ └── LicenseActivationFailedEvent.java │ │ │ │ └── receiver │ │ │ │ ├── AdminActivationReceiver.java │ │ │ │ └── LicenseActivationReceiver.java │ │ └── res │ │ │ ├── values │ │ │ └── strings.xml │ │ │ └── xml │ │ │ └── enterprise_device_admin.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── akexorcist │ │ └── knoxactivator │ │ └── ExampleUnitTest.java └── settings.gradle ├── KNOXSampleApp ├── app │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── akexorcist │ │ │ └── knoxsampleapp │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── akexorcist │ │ │ │ └── knoxsampleapp │ │ │ │ ├── ActivationActivity.java │ │ │ │ ├── DoSomethingActivity.java │ │ │ │ └── manager │ │ │ │ ├── DialogManager.java │ │ │ │ ├── SharedPreferenceManager.java │ │ │ │ └── ToastManager.java │ │ └── res │ │ │ ├── drawable-hdpi │ │ │ └── ic_launcher_activation.png │ │ │ ├── drawable-mdpi │ │ │ └── ic_launcher_activation.png │ │ │ ├── drawable-xhdpi │ │ │ └── ic_launcher_activation.png │ │ │ ├── drawable-xxhdpi │ │ │ └── ic_launcher_activation.png │ │ │ ├── drawable-xxxhdpi │ │ │ └── ic_launcher_activation.png │ │ │ ├── layout │ │ │ ├── activity_activation.xml │ │ │ └── activity_do_something.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── akexorcist │ │ └── knoxsampleapp │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── knoxActivator │ ├── build.gradle │ ├── libs │ │ ├── edm.jar │ │ ├── license.jar │ │ └── rc.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── akexorcist │ │ │ └── knoxactivator │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── akexorcist │ │ │ │ └── knoxactivator │ │ │ │ ├── ActivationCallback.java │ │ │ │ ├── KnoxActivationBus.java │ │ │ │ ├── KnoxActivationManager.java │ │ │ │ ├── event │ │ │ │ ├── AdminDeactivatedEvent.java │ │ │ │ ├── LicenseActivatedEvent.java │ │ │ │ └── LicenseActivationFailedEvent.java │ │ │ │ └── receiver │ │ │ │ ├── AdminActivationReceiver.java │ │ │ │ └── LicenseActivationReceiver.java │ │ └── res │ │ │ ├── values │ │ │ └── strings.xml │ │ │ └── xml │ │ │ └── enterprise_device_admin.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── akexorcist │ │ └── knoxactivator │ │ └── ExampleUnitTest.java └── settings.gradle ├── LICENSE ├── MultiWindowApp ├── app │ ├── build.gradle │ ├── libs │ │ ├── multiwindow-v1.3.1.jar │ │ └── sdk-v1.0.0.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── akexorcist │ │ │ └── myapplication │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── akexorcist │ │ │ │ └── myapplication │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── animator │ │ │ ├── animator_scale_default.xml │ │ │ └── animator_scale_down.xml │ │ │ ├── drawable-hdpi │ │ │ ├── android_logo.png │ │ │ └── ic_launcher_multi_window.png │ │ │ ├── drawable-mdpi │ │ │ ├── android_logo.png │ │ │ └── ic_launcher_multi_window.png │ │ │ ├── drawable-xhdpi │ │ │ ├── android_logo.png │ │ │ └── ic_launcher_multi_window.png │ │ │ ├── drawable-xxhdpi │ │ │ ├── android_logo.png │ │ │ └── ic_launcher_multi_window.png │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── akexorcist │ │ └── myapplication │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties └── settings.gradle ├── PassApp ├── app │ ├── build.gradle │ ├── libs │ │ ├── pass-v1.2.1.jar │ │ └── sdk-v1.0.0.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── akexorcist │ │ │ └── passapp │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── akexorcist │ │ │ │ └── passapp │ │ │ │ ├── InfoActivity.java │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── drawable-hdpi │ │ │ └── ic_launcher_pass.png │ │ │ ├── drawable-mdpi │ │ │ └── ic_launcher_pass.png │ │ │ ├── drawable-xhdpi │ │ │ └── ic_launcher_pass.png │ │ │ ├── drawable-xxhdpi │ │ │ └── ic_launcher_pass.png │ │ │ ├── drawable-xxxhdpi │ │ │ └── ic_launcher_pass.png │ │ │ ├── drawable │ │ │ ├── selector_button_accent.xml │ │ │ ├── shape_button_accent_disable.xml │ │ │ ├── shape_button_accent_normal.xml │ │ │ └── shape_button_accent_pressed.xml │ │ │ ├── layout │ │ │ ├── activity_info.xml │ │ │ └── activity_main.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── akexorcist │ │ └── passapp │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties └── settings.gradle ├── README.md └── SPenApp ├── app ├── build.gradle ├── libs │ ├── pen-v4.1.0_light.aar │ └── sdk-v1.0.0.jar ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── akexorcist │ │ └── spenapp │ │ └── ApplicationTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── akexorcist │ │ │ └── spenapp │ │ │ └── MainActivity.java │ └── res │ │ ├── drawable-hdpi │ │ ├── ic_launcher_pen.png │ │ └── ic_pen_settings.png │ │ ├── drawable-mdpi │ │ ├── ic_launcher_pen.png │ │ └── ic_pen_settings.png │ │ ├── drawable-xhdpi │ │ ├── ic_launcher_pen.png │ │ └── ic_pen_settings.png │ │ ├── drawable-xxhdpi │ │ ├── ic_launcher_pen.png │ │ └── ic_pen_settings.png │ │ ├── drawable-xxxhdpi │ │ ├── ic_launcher_pen.png │ │ └── ic_pen_settings.png │ │ ├── drawable │ │ ├── selector_circle_button_accent.xml │ │ ├── selector_square_button_accent.xml │ │ ├── shape_circle_button_accent_disable.xml │ │ ├── shape_circle_button_accent_normal.xml │ │ ├── shape_circle_button_accent_pressed.xml │ │ ├── shape_square_button_accent_disable.xml │ │ ├── shape_square_button_accent_normal.xml │ │ └── shape_square_button_accent_pressed.xml │ │ ├── layout │ │ └── activity_main.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── akexorcist │ └── spenapp │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | # Built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # Files for the Dalvik VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # Generated files 12 | bin/ 13 | gen/ 14 | 15 | # Gradle files 16 | .gradle/ 17 | build/ 18 | 19 | # Local configuration file (sdk path, etc) 20 | local.properties 21 | 22 | # Proguard folder generated by Eclipse 23 | proguard/ 24 | 25 | # Log Files 26 | *.log 27 | 28 | # Android Studio Navigation editor temp files 29 | .navigation/ 30 | 31 | # Android Studio captures folder 32 | captures/ 33 | -------------------------------------------------------------------------------- /ImageFilterApp/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 23 5 | buildToolsVersion "23.0.3" 6 | 7 | defaultConfig { 8 | applicationId "com.akexorcist.imagefilterapp" 9 | minSdkVersion 16 10 | targetSdkVersion 23 11 | versionCode 1 12 | versionName "1.0" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | compile fileTree(dir: 'libs', include: ['*.jar']) 24 | testCompile 'junit:junit:4.12' 25 | compile 'com.android.support:appcompat-v7:23.3.0' 26 | } 27 | -------------------------------------------------------------------------------- /ImageFilterApp/app/libs/imagefilter-v1.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/ImageFilterApp/app/libs/imagefilter-v1.0.1.jar -------------------------------------------------------------------------------- /ImageFilterApp/app/libs/sdk-v1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/ImageFilterApp/app/libs/sdk-v1.0.0.jar -------------------------------------------------------------------------------- /ImageFilterApp/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 /Applications/ADT/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 | -------------------------------------------------------------------------------- /ImageFilterApp/app/src/androidTest/java/com/akexorcist/imagefilterapp/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.imagefilterapp; 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 | } -------------------------------------------------------------------------------- /ImageFilterApp/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /ImageFilterApp/app/src/main/jniLibs/armeabi/libImageFilterLibs.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/ImageFilterApp/app/src/main/jniLibs/armeabi/libImageFilterLibs.so -------------------------------------------------------------------------------- /ImageFilterApp/app/src/main/res/drawable-nodpi/sample.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/ImageFilterApp/app/src/main/res/drawable-nodpi/sample.jpg -------------------------------------------------------------------------------- /ImageFilterApp/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/ImageFilterApp/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /ImageFilterApp/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/ImageFilterApp/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /ImageFilterApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/ImageFilterApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ImageFilterApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/ImageFilterApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ImageFilterApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/ImageFilterApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ImageFilterApp/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /ImageFilterApp/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /ImageFilterApp/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /ImageFilterApp/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Image Filter App 3 | Original 4 | Sepia 5 | Vintage 6 | Pastel Sketch 7 | Size : %d x %d px 8 | Convert Time : %d ms 9 | 10 | -------------------------------------------------------------------------------- /ImageFilterApp/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /ImageFilterApp/app/src/test/java/com/akexorcist/imagefilterapp/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.imagefilterapp; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /ImageFilterApp/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.1.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | 21 | task clean(type: Delete) { 22 | delete rootProject.buildDir 23 | } 24 | -------------------------------------------------------------------------------- /ImageFilterApp/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 -------------------------------------------------------------------------------- /ImageFilterApp/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 23 5 | buildToolsVersion "23.0.3" 6 | 7 | defaultConfig { 8 | applicationId "com.akexorcist.knoxgeofencingapp" 9 | minSdkVersion 16 10 | targetSdkVersion 23 11 | versionCode 1 12 | versionName "1.0" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | compile fileTree(include: ['*.jar'], dir: 'libs') 24 | compile project(':knoxActivator') 25 | testCompile 'junit:junit:4.12' 26 | compile 'com.android.support:appcompat-v7:23.3.0' 27 | compile 'com.squareup:otto:1.3.8' 28 | compile('com.github.afollestad.material-dialogs:core:0.8.5.8@aar') { 29 | transitive = true 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/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 /Applications/ADT/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 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/androidTest/java/com/akexorcist/knoxgeofencingapp/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxgeofencingapp; 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 | } -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/GeofencingReceiver.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxgeofencingapp; 2 | 3 | import android.app.enterprise.geofencing.Geofence; 4 | import android.app.enterprise.geofencing.Geofencing; 5 | import android.content.BroadcastReceiver; 6 | import android.content.Context; 7 | import android.content.Intent; 8 | 9 | import com.akexorcist.knoxgeofencingapp.bus.BusProvider; 10 | import com.akexorcist.knoxgeofencingapp.bus.event.InsideGeofenceEvent; 11 | import com.akexorcist.knoxgeofencingapp.bus.event.LocationUnavailableEvent; 12 | import com.akexorcist.knoxgeofencingapp.bus.event.OutsideGeofenceEvent; 13 | 14 | /** 15 | * Created by Akexorcist on 5/10/16 AD. 16 | */ 17 | 18 | public class GeofencingReceiver extends BroadcastReceiver { 19 | @Override 20 | public void onReceive(Context context, Intent intent) { 21 | String action = intent.getAction(); 22 | if (action.equalsIgnoreCase(Geofencing.ACTION_DEVICE_INSIDE_GEOFENCE)) { 23 | int[] geofenceIdList = intent.getIntArrayExtra(Geofencing.INTENT_EXTRA_ID); 24 | BusProvider.getProvider().post(new InsideGeofenceEvent(geofenceIdList)); 25 | } else if (action.equalsIgnoreCase(Geofencing.ACTION_DEVICE_OUTSIDE_GEOFENCE)) { 26 | int[] geofenceIdList = intent.getIntArrayExtra(Geofencing.INTENT_EXTRA_ID); 27 | BusProvider.getProvider().post(new OutsideGeofenceEvent(geofenceIdList)); 28 | } else if (action.equalsIgnoreCase(Geofencing.ACTION_DEVICE_LOCATION_UNAVAILABLE)) { 29 | BusProvider.getProvider().post(new LocationUnavailableEvent()); 30 | } 31 | } 32 | 33 | private Geofence getGeofenceById(Context context, int id) { 34 | Geofencing geofencingService = Geofencing.getInstance(context); 35 | if (geofencingService.getGeofences() != null) { 36 | for (Geofence geofence : geofencingService.getGeofences()) { 37 | if (geofence.id == id) { 38 | return geofence; 39 | } 40 | } 41 | } 42 | return null; 43 | } 44 | } 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/bus/BusProvider.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxgeofencingapp.bus; 2 | 3 | import com.squareup.otto.Bus; 4 | 5 | /** 6 | * Created by Akexorcist on 6/10/16 AD. 7 | */ 8 | public class BusProvider { 9 | private static Bus bus; 10 | 11 | public static Bus getProvider() { 12 | if (bus == null) { 13 | bus = new Bus(); 14 | } 15 | return bus; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/bus/event/InsideGeofenceEvent.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxgeofencingapp.bus.event; 2 | 3 | /** 4 | * Created by Akexorcist on 6/10/16 AD. 5 | */ 6 | public class InsideGeofenceEvent { 7 | int[] geofenceIdList; 8 | 9 | public InsideGeofenceEvent() { 10 | } 11 | 12 | public InsideGeofenceEvent(int[] geofenceIdList) { 13 | this.geofenceIdList = geofenceIdList; 14 | } 15 | 16 | public int[] getGeofenceIdList() { 17 | return geofenceIdList; 18 | } 19 | 20 | public void setGeofenceIdList(int[] geofenceIdList) { 21 | this.geofenceIdList = geofenceIdList; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/bus/event/LocationUnavailableEvent.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxgeofencingapp.bus.event; 2 | 3 | /** 4 | * Created by Akexorcist on 6/10/16 AD. 5 | */ 6 | public class LocationUnavailableEvent { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/bus/event/OutsideGeofenceEvent.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxgeofencingapp.bus.event; 2 | 3 | /** 4 | * Created by Akexorcist on 6/10/16 AD. 5 | */ 6 | public class OutsideGeofenceEvent { 7 | int[] geofenceIdList; 8 | 9 | public OutsideGeofenceEvent() { 10 | } 11 | 12 | public OutsideGeofenceEvent(int[] geofenceIdList) { 13 | this.geofenceIdList = geofenceIdList; 14 | } 15 | 16 | public int[] getGeofenceIdList() { 17 | return geofenceIdList; 18 | } 19 | 20 | public void setGeofenceIdList(int[] geofenceIdList) { 21 | this.geofenceIdList = geofenceIdList; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/manager/SharedPreferenceManager.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxgeofencingapp.manager; 2 | 3 | import android.content.Context; 4 | 5 | /** 6 | * Created by Akexorcist on 6/9/16 AD. 7 | */ 8 | public class SharedPreferenceManager { 9 | private static final String PREFERENCE_STATE = "preference_state"; 10 | private static final String KEY_LICENSE_ACTIVATED = "key_license_activated"; 11 | 12 | public static void setLicenseActivated(Context context) { 13 | context.getSharedPreferences(PREFERENCE_STATE, Context.MODE_PRIVATE) 14 | .edit() 15 | .putBoolean(KEY_LICENSE_ACTIVATED, true) 16 | .apply(); 17 | } 18 | 19 | public static boolean isLicenseActivated(Context context) { 20 | return context.getSharedPreferences(PREFERENCE_STATE, Context.MODE_PRIVATE) 21 | .getBoolean(KEY_LICENSE_ACTIVATED, false); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/manager/ToastManager.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxgeofencingapp.manager; 2 | 3 | import android.content.Context; 4 | import android.widget.Toast; 5 | 6 | import com.akexorcist.knoxgeofencingapp.R; 7 | 8 | /** 9 | * Created by Akexorcist on 4/22/2016 AD. 10 | */ 11 | public class ToastManager { 12 | public static void showLicenseActivationSuccess(Context context) { 13 | showToast(context, R.string.license_activation_success); 14 | } 15 | 16 | public static void showDeviceAdminActivationSuccess(Context context) { 17 | showToast(context, R.string.device_admin_activation_success); 18 | } 19 | 20 | public static void showToast(Context context, int message) { 21 | Toast.makeText(context, message, Toast.LENGTH_SHORT).show(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/res/drawable-hdpi/ic_launcher_geofencing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/KNOXGeofencingApp/app/src/main/res/drawable-hdpi/ic_launcher_geofencing.png -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/res/drawable-mdpi/ic_launcher_geofencing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/KNOXGeofencingApp/app/src/main/res/drawable-mdpi/ic_launcher_geofencing.png -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/res/drawable-xhdpi/ic_launcher_geofencing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/KNOXGeofencingApp/app/src/main/res/drawable-xhdpi/ic_launcher_geofencing.png -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/res/drawable-xxhdpi/ic_launcher_geofencing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/KNOXGeofencingApp/app/src/main/res/drawable-xxhdpi/ic_launcher_geofencing.png -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/res/drawable-xxxhdpi/ic_launcher_geofencing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/KNOXGeofencingApp/app/src/main/res/drawable-xxxhdpi/ic_launcher_geofencing.png -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/res/drawable/selector_round_button_accent.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/res/drawable/shape_round_button_accent_disable.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/res/drawable/shape_round_button_accent_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/res/drawable/shape_round_button_accent_pressed.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/res/layout/activity_activation.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 18 | 19 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | #D91F5E 7 | #838383 8 | #FFFFFF 9 | 10 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 8dp 3 | 4dp 4 | 16dp 5 | 16sp 6 | 12sp 7 | 20sp 8 | 30sp 9 | 10 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | KNOX Geofencing Example 3 | Auto license and device admin activation will start immediately 4 | Setup Problem 5 | Device Administrator is required to enable. Please enable it to use this app. 6 | License Activation Problem 7 | Something wrong while license activation.\n Code : %s (%s) 8 | Device Problem 9 | This device isn\'t support by KNOX Standard SDK. 10 | Cancel 11 | Retry 12 | OK 13 | Device admin activation success 14 | KNOX license activation success 15 | License Activating 16 | Loading… 17 | Stop Geofencing 18 | Start Geofencing 19 | Create Geofencing 20 | Clear Geofencing 21 | This geofence is already exists. 22 | Geofence id %s was created. 23 | 24 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/app/src/test/java/com/akexorcist/knoxgeofencingapp/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxgeofencingapp; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /KNOXGeofencingApp/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.1.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | maven { 19 | url "https://jitpack.io" 20 | } 21 | } 22 | } 23 | 24 | task clean(type: Delete) { 25 | delete rootProject.buildDir 26 | } 27 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/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 -------------------------------------------------------------------------------- /KNOXGeofencingApp/knoxActivator/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 23 5 | buildToolsVersion "23.0.3" 6 | 7 | defaultConfig { 8 | minSdkVersion 14 9 | targetSdkVersion 23 10 | versionCode 1 11 | versionName "1.0" 12 | } 13 | buildTypes { 14 | release { 15 | minifyEnabled false 16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 17 | } 18 | } 19 | } 20 | 21 | dependencies { 22 | compile fileTree(dir: 'libs', include: ['*.jar']) 23 | testCompile 'junit:junit:4.12' 24 | compile 'com.squareup:otto:1.3.8' 25 | } 26 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/knoxActivator/libs/edm.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/KNOXGeofencingApp/knoxActivator/libs/edm.jar -------------------------------------------------------------------------------- /KNOXGeofencingApp/knoxActivator/libs/license.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/KNOXGeofencingApp/knoxActivator/libs/license.jar -------------------------------------------------------------------------------- /KNOXGeofencingApp/knoxActivator/libs/rc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/KNOXGeofencingApp/knoxActivator/libs/rc.jar -------------------------------------------------------------------------------- /KNOXGeofencingApp/knoxActivator/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 /Applications/ADT/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 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/knoxActivator/src/androidTest/java/com/akexorcist/knoxactivator/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxactivator; 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 | } -------------------------------------------------------------------------------- /KNOXGeofencingApp/knoxActivator/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 10 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/knoxActivator/src/main/java/com/akexorcist/knoxactivator/ActivationCallback.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxactivator; 2 | 3 | /** 4 | * Created by Akexorcist on 4/20/2016 AD. 5 | */ 6 | public interface ActivationCallback { 7 | void onDeviceAdminActivated(); 8 | 9 | void onDeviceAdminActivationCancelled(); 10 | 11 | void onDeviceAdminDeactivated(); 12 | 13 | void onLicenseActivated(); 14 | 15 | void onLicenseActivateFailed(int errorType, String errorMessage); 16 | } 17 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/knoxActivator/src/main/java/com/akexorcist/knoxactivator/KnoxActivationBus.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxactivator; 2 | 3 | import com.squareup.otto.Bus; 4 | 5 | /** 6 | * Created by Akexorcist on 4/21/2016 AD. 7 | */ 8 | public class KnoxActivationBus { 9 | private static KnoxActivationBus knoxActivationBus; 10 | 11 | public static KnoxActivationBus getInstance() { 12 | if (knoxActivationBus == null) { 13 | knoxActivationBus = new KnoxActivationBus(); 14 | } 15 | return knoxActivationBus; 16 | } 17 | 18 | private Bus bus; 19 | 20 | public Bus getBus() { 21 | if (bus == null) { 22 | bus = new Bus(); 23 | } 24 | return bus; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/knoxActivator/src/main/java/com/akexorcist/knoxactivator/event/AdminDeactivatedEvent.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxactivator.event; 2 | 3 | /** 4 | * Created by Akexorcist on 4/21/2016 AD. 5 | */ 6 | public class AdminDeactivatedEvent { } 7 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/knoxActivator/src/main/java/com/akexorcist/knoxactivator/event/LicenseActivatedEvent.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxactivator.event; 2 | 3 | /** 4 | * Created by Akexorcist on 4/21/2016 AD. 5 | */ 6 | public class LicenseActivatedEvent { } 7 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/knoxActivator/src/main/java/com/akexorcist/knoxactivator/event/LicenseActivationFailedEvent.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxactivator.event; 2 | 3 | /** 4 | * Created by Akexorcist on 4/21/2016 AD. 5 | */ 6 | public class LicenseActivationFailedEvent { 7 | int errorType; 8 | 9 | public LicenseActivationFailedEvent(int errorType) { 10 | this.errorType = errorType; 11 | } 12 | 13 | public int getErrorType() { 14 | return errorType; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/knoxActivator/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Do you want to disable the administrator? 5 | 6 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/knoxActivator/src/main/res/xml/enterprise_device_admin.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 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /KNOXGeofencingApp/knoxActivator/src/test/java/com/akexorcist/knoxactivator/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxactivator; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /KNOXGeofencingApp/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':knoxActivator' 2 | -------------------------------------------------------------------------------- /KNOXKioskApp/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 23 5 | buildToolsVersion "23.0.3" 6 | 7 | defaultConfig { 8 | applicationId "com.akexorcist.knoxkioskapp" 9 | minSdkVersion 16 10 | targetSdkVersion 23 11 | versionCode 1 12 | versionName "1.0" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | compile fileTree(include: ['*.jar'], dir: 'libs') 24 | compile project(':knoxActivator') 25 | testCompile 'junit:junit:4.12' 26 | compile 'com.android.support:appcompat-v7:23.3.0' 27 | compile('com.github.afollestad.material-dialogs:core:0.8.5.8@aar') { 28 | transitive = true 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /KNOXKioskApp/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 /Applications/ADT/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 | -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/androidTest/java/com/akexorcist/knoxkioskapp/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxkioskapp; 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 | } -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/java/com/akexorcist/knoxkioskapp/DoSomethingActivity.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxkioskapp; 2 | 3 | import android.app.enterprise.kioskmode.KioskMode; 4 | import android.os.Bundle; 5 | import android.support.v7.app.AppCompatActivity; 6 | import android.view.KeyEvent; 7 | import android.view.View; 8 | import android.widget.Button; 9 | 10 | import java.util.Arrays; 11 | import java.util.List; 12 | 13 | public class DoSomethingActivity extends AppCompatActivity implements View.OnClickListener { 14 | private Button btnKioskStart; 15 | private Button btnKioskStop; 16 | 17 | private KioskMode kioskModeService; 18 | 19 | @Override 20 | protected void onCreate(Bundle savedInstanceState) { 21 | super.onCreate(savedInstanceState); 22 | setContentView(R.layout.activity_do_something); 23 | 24 | bindView(); 25 | setupView(); 26 | setupThing(); 27 | } 28 | 29 | @Override 30 | protected void onDestroy() { 31 | super.onDestroy(); 32 | } 33 | 34 | private void bindView() { 35 | btnKioskStart = (Button) findViewById(R.id.btn_kiosk_enable); 36 | btnKioskStop = (Button) findViewById(R.id.btn_kiosk_disable); 37 | } 38 | 39 | private void setupView() { 40 | btnKioskStart.setOnClickListener(this); 41 | btnKioskStop.setOnClickListener(this); 42 | } 43 | 44 | private void setupThing() { 45 | kioskModeService = KioskMode.getInstance(this); 46 | if (kioskModeService.isKioskModeEnabled()) { 47 | btnKioskStart.setEnabled(false); 48 | btnKioskStop.setEnabled(true); 49 | } else { 50 | btnKioskStart.setEnabled(true); 51 | btnKioskStop.setEnabled(false); 52 | } 53 | } 54 | 55 | @Override 56 | public void onClick(View v) { 57 | if (v == btnKioskStart) { 58 | enableKiosk(); 59 | } else if (v == btnKioskStop) { 60 | disableKiosk(); 61 | } 62 | } 63 | 64 | private void enableKiosk() { 65 | setKioskSettings(false); 66 | kioskModeService.enableKioskMode(); 67 | } 68 | 69 | private void disableKiosk() { 70 | setKioskSettings(true); 71 | kioskModeService.disableKioskMode(); 72 | } 73 | 74 | private void setKioskSettings(boolean state) { 75 | List keyList = Arrays.asList(KeyEvent.KEYCODE_HOME, KeyEvent.KEYCODE_BACK); 76 | kioskModeService.allowHardwareKeys(keyList, state); 77 | kioskModeService.allowMultiWindowMode(state); 78 | kioskModeService.allowTaskManager(state); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/java/com/akexorcist/knoxkioskapp/KIOSKReceiver.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxkioskapp; 2 | 3 | import android.app.enterprise.ApplicationPolicy; 4 | import android.app.enterprise.EnterpriseDeviceManager; 5 | import android.app.enterprise.kioskmode.KioskMode; 6 | import android.content.BroadcastReceiver; 7 | import android.content.Context; 8 | import android.content.Intent; 9 | 10 | /** 11 | * Created by Akexorcist on 5/11/16 AD. 12 | */ 13 | public class KIOSKReceiver extends BroadcastReceiver { 14 | @Override 15 | public void onReceive(Context context, Intent intent) { 16 | if (intent != null) { 17 | String action = intent.getAction(); 18 | if (action.equals(KioskMode.ACTION_ENABLE_KIOSK_MODE_RESULT)) { 19 | // KIOSK enabled 20 | addApplicationShortcut(context, context.getPackageName()); 21 | } else if (action.equals(KioskMode.ACTION_DISABLE_KIOSK_MODE_RESULT)) { 22 | // KIOSK disabled 23 | removeApplicationShortcut(context, context.getPackageName()); 24 | } else if (action.equals(KioskMode.ACTION_UNEXPECTED_KIOSK_BEHAVIOR)) { 25 | // KIOSK unexpected error 26 | } 27 | } 28 | } 29 | 30 | @SuppressWarnings("WrongConstant") 31 | void addApplicationShortcut(Context context, String packageName) { 32 | EnterpriseDeviceManager edm = (EnterpriseDeviceManager) context.getSystemService(EnterpriseDeviceManager.ENTERPRISE_POLICY_SERVICE); 33 | ApplicationPolicy appPolicy = edm.getApplicationPolicy(); 34 | String kioskPackageName = KioskMode.getInstance(context).getKioskHomePackage(); 35 | appPolicy.addHomeShortcut(packageName, kioskPackageName); 36 | } 37 | 38 | @SuppressWarnings("WrongConstant") 39 | void removeApplicationShortcut(Context context, String packageName) { 40 | EnterpriseDeviceManager edm = (EnterpriseDeviceManager) context.getSystemService(EnterpriseDeviceManager.ENTERPRISE_POLICY_SERVICE); 41 | ApplicationPolicy appPolicy = edm.getApplicationPolicy(); 42 | String kioskPackageName = KioskMode.getInstance(context).getKioskHomePackage(); 43 | appPolicy.deleteHomeShortcut(packageName, kioskPackageName); 44 | } 45 | } 46 | 47 | -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/java/com/akexorcist/knoxkioskapp/manager/SharedPreferenceManager.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxkioskapp.manager; 2 | 3 | import android.content.Context; 4 | 5 | /** 6 | * Created by Akexorcist on 6/9/16 AD. 7 | */ 8 | public class SharedPreferenceManager { 9 | private static final String PREFERENCE_STATE = "preference_state"; 10 | private static final String KEY_LICENSE_ACTIVATED = "key_license_activated"; 11 | 12 | public static void setLicenseActivated(Context context) { 13 | context.getSharedPreferences(PREFERENCE_STATE, Context.MODE_PRIVATE) 14 | .edit() 15 | .putBoolean(KEY_LICENSE_ACTIVATED, true) 16 | .apply(); 17 | } 18 | 19 | public static boolean isLicenseActivated(Context context) { 20 | return context.getSharedPreferences(PREFERENCE_STATE, Context.MODE_PRIVATE) 21 | .getBoolean(KEY_LICENSE_ACTIVATED, false); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/java/com/akexorcist/knoxkioskapp/manager/ToastManager.java: -------------------------------------------------------------------------------- 1 | package com.akexorcist.knoxkioskapp.manager; 2 | 3 | import android.content.Context; 4 | import android.widget.Toast; 5 | 6 | import com.akexorcist.knoxkioskapp.R; 7 | 8 | /** 9 | * Created by Akexorcist on 4/22/2016 AD. 10 | */ 11 | public class ToastManager { 12 | public static void showLicenseActivationSuccess(Context context) { 13 | showToast(context, R.string.license_activation_success); 14 | } 15 | 16 | public static void showDeviceAdminActivationSuccess(Context context) { 17 | showToast(context, R.string.device_admin_activation_success); 18 | } 19 | 20 | public static void showToast(Context context, int message) { 21 | Toast.makeText(context, message, Toast.LENGTH_SHORT).show(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/res/drawable-hdpi/ic_launcher_kiosk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/KNOXKioskApp/app/src/main/res/drawable-hdpi/ic_launcher_kiosk.png -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/res/drawable-mdpi/ic_launcher_kiosk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/KNOXKioskApp/app/src/main/res/drawable-mdpi/ic_launcher_kiosk.png -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/res/drawable-xhdpi/ic_launcher_kiosk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/KNOXKioskApp/app/src/main/res/drawable-xhdpi/ic_launcher_kiosk.png -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/res/drawable-xxhdpi/ic_launcher_kiosk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/KNOXKioskApp/app/src/main/res/drawable-xxhdpi/ic_launcher_kiosk.png -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/res/drawable-xxxhdpi/ic_launcher_kiosk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akexorcist/Example-SamsungSDK/9edb4882ff5bbd7af9d5ef816a8707e7bf3042d4/KNOXKioskApp/app/src/main/res/drawable-xxxhdpi/ic_launcher_kiosk.png -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/res/drawable/selector_round_button_accent.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/res/drawable/shape_round_button_accent_disable.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/res/drawable/shape_round_button_accent_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/res/drawable/shape_round_button_accent_pressed.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/res/layout/activity_activation.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /KNOXKioskApp/app/src/main/res/layout/activity_do_something.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 |