├── .gitignore
├── README.txt
├── clean_project_files.sh
├── external
├── oak_icon_512.png
├── screenshot1.png
├── screenshot2.png
└── screenshot3.png
├── oak-animatedsvgview
├── AndroidManifest.xml
├── pom.xml
├── res
│ └── values
│ │ └── attrs.xml
└── src
│ └── main
│ └── java
│ └── oak
│ └── animatedsvgview
│ ├── AnimatedSvgView.java
│ ├── MathUtil.java
│ └── SvgPathParser.java
├── oak-archetype
├── pom.xml
└── src
│ └── main
│ └── resources
│ ├── META-INF
│ └── maven
│ │ └── archetype-metadata.xml
│ └── archetype-resources
│ ├── .gitignore
│ ├── AndroidManifest.xml
│ ├── pom.xml
│ ├── project.properties
│ └── src
│ └── main
│ ├── assets
│ └── fonts
│ │ ├── Roboto-Bold.ttf
│ │ ├── Roboto-Light.ttf
│ │ ├── Roboto-Thin.ttf
│ │ ├── Roboto.ttf
│ │ └── readoutcondenseditalic.ttf
│ ├── java
│ ├── Datastore.java
│ ├── EncryptedPreferencesProvider.java
│ ├── EncryptedSharedPreferences.java
│ ├── MainApp.java
│ ├── RoboGuiceModule.java
│ ├── StartupActivity.java
│ ├── TabA.java
│ ├── TabB.java
│ └── TabC.java
│ └── res
│ ├── drawable-hdpi
│ └── ic_launcher.png
│ ├── drawable-mdpi
│ └── ic_launcher.png
│ ├── drawable-xhdpi
│ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ └── ic_launcher.png
│ ├── drawable-xxxhdpi
│ └── ic_launcher.png
│ ├── layout
│ ├── simple_list_fragment.xml
│ ├── startup_tabs.xml
│ └── tab_template.xml
│ └── values
│ ├── attrs.xml
│ ├── colors.xml
│ ├── roboguice.xml
│ ├── strings.xml
│ └── styles.xml
├── oak-aspectratioview
├── AndroidManifest.xml
├── pom.xml
├── res
│ └── values
│ │ └── attrs.xml
└── src
│ └── main
│ └── java
│ └── oak
│ └── aspectratioview
│ ├── util
│ └── RatioSizingUtils.java
│ └── widget
│ └── AspectRatioLayout.java
├── oak-dagger-api15-archetype
├── pom.xml
└── src
│ └── main
│ └── resources
│ ├── META-INF
│ └── maven
│ │ └── archetype-metadata.xml
│ └── archetype-resources
│ ├── .gitignore
│ ├── AndroidManifest.xml
│ ├── pom.xml
│ ├── project.properties
│ └── src
│ └── main
│ ├── assets
│ └── fonts
│ │ ├── Roboto-Bold.ttf
│ │ ├── Roboto-Light.ttf
│ │ ├── Roboto-Thin.ttf
│ │ └── Roboto.ttf
│ ├── java
│ ├── Datastore.java
│ ├── EncryptedSharedPreferences.java
│ ├── MainApp.java
│ ├── StartupActivity.java
│ └── dagger
│ │ ├── AppModule.java
│ │ ├── ForActivity.java
│ │ ├── ForApplication.java
│ │ ├── IObjectGraph.java
│ │ └── Injector.java
│ └── res
│ ├── drawable-hdpi
│ └── ic_launcher.png
│ ├── drawable-mdpi
│ └── ic_launcher.png
│ ├── drawable-xhdpi
│ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ └── ic_launcher.png
│ ├── drawable-xxxhdpi
│ └── ic_launcher.png
│ ├── layout
│ └── startup.xml
│ └── values
│ ├── attrs.xml
│ ├── colors.xml
│ ├── strings.xml
│ └── styles.xml
├── oak-dagger-archetype
├── pom.xml
└── src
│ └── main
│ └── resources
│ ├── META-INF
│ └── maven
│ │ └── archetype-metadata.xml
│ └── archetype-resources
│ ├── .gitignore
│ ├── AndroidManifest.xml
│ ├── pom.xml
│ ├── project.properties
│ └── src
│ └── main
│ ├── assets
│ └── fonts
│ │ ├── Roboto-Bold.ttf
│ │ ├── Roboto-Light.ttf
│ │ ├── Roboto-Thin.ttf
│ │ └── Roboto.ttf
│ ├── java
│ ├── Datastore.java
│ ├── EncryptedSharedPreferences.java
│ ├── MainApp.java
│ ├── StartupActivity.java
│ └── dagger
│ │ ├── AppModule.java
│ │ ├── ForActivity.java
│ │ ├── ForApplication.java
│ │ ├── IObjectGraph.java
│ │ └── Injector.java
│ └── res
│ ├── drawable-hdpi
│ └── ic_launcher.png
│ ├── drawable-mdpi
│ └── ic_launcher.png
│ ├── drawable-xhdpi
│ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ └── ic_launcher.png
│ ├── drawable-xxxhdpi
│ └── ic_launcher.png
│ ├── layout
│ └── startup.xml
│ └── values
│ ├── attrs.xml
│ ├── colors.xml
│ ├── strings.xml
│ └── styles.xml
├── oak-demos
├── AndroidManifest.xml
├── assets
│ └── fonts
│ │ ├── Apple Chancery.ttf
│ │ ├── LiberationMono-Regular.ttf
│ │ ├── Once_upon_a_time.ttf
│ │ ├── Roboto-Bold.ttf
│ │ ├── Roboto-Light.ttf
│ │ ├── Roboto-Thin.ttf
│ │ └── Roboto.ttf
├── demos_keystore
├── pom.xml
├── proguard.cfg
├── project.properties
├── res
│ ├── drawable-hdpi
│ │ ├── attribution.png
│ │ ├── cell.png
│ │ ├── cell_bottom.png
│ │ ├── cell_mid.png
│ │ ├── cell_top.png
│ │ ├── icon.png
│ │ ├── oak_ic_cancel.png
│ │ ├── spinner_16_inner_holo.png
│ │ ├── spinner_16_outer_holo.png
│ │ ├── spinner_48_inner_holo.png
│ │ ├── spinner_48_outer_holo.png
│ │ ├── spinner_76_inner_holo.png
│ │ ├── spinner_76_outer_holo.png
│ │ ├── swanky1.png
│ │ ├── swanky2.png
│ │ ├── swanky3.png
│ │ └── swanky4.png
│ ├── drawable-ldpi
│ │ └── icon.png
│ ├── drawable-mdpi
│ │ ├── icon.png
│ │ ├── spinner_16_inner_holo.png
│ │ ├── spinner_16_outer_holo.png
│ │ ├── spinner_48_inner_holo.png
│ │ ├── spinner_48_outer_holo.png
│ │ ├── spinner_76_inner_holo.png
│ │ └── spinner_76_outer_holo.png
│ ├── drawable-xhdpi
│ │ ├── ic_menu_my_calendar.png
│ │ ├── ic_menu_search.png
│ │ ├── icon.png
│ │ ├── loading_00.png
│ │ ├── loading_01.png
│ │ ├── loading_02.png
│ │ ├── loading_03.png
│ │ ├── loading_04.png
│ │ ├── loading_05.png
│ │ ├── loading_06.png
│ │ ├── loading_07.png
│ │ ├── loading_08.png
│ │ ├── loading_09.png
│ │ ├── loading_10.png
│ │ ├── loading_11.png
│ │ ├── loading_12.png
│ │ ├── loading_13.png
│ │ ├── loading_14.png
│ │ ├── loading_15.png
│ │ ├── loading_16.png
│ │ ├── loading_17.png
│ │ ├── loading_18.png
│ │ ├── loading_19.png
│ │ ├── loading_20.png
│ │ ├── oak_ic_cancel.png
│ │ ├── spinner_16_inner_holo.png
│ │ ├── spinner_16_outer_holo.png
│ │ ├── spinner_48_inner_holo.png
│ │ ├── spinner_48_outer_holo.png
│ │ ├── spinner_76_inner_holo.png
│ │ └── spinner_76_outer_holo.png
│ ├── drawable
│ │ ├── card_bg.xml
│ │ ├── progress_large_holo.xml
│ │ ├── progress_medium_holo.xml
│ │ ├── progress_small_holo.xml
│ │ ├── spreadsheetcellselectedshape.xml
│ │ ├── spreadsheetcolumncellshape.xml
│ │ ├── spreadsheetdatacellshape.xml
│ │ ├── spreadsheetfootercellshape.xml
│ │ └── spreadsheetheadercellshape.xml
│ ├── layout
│ │ ├── activity_attribution.xml
│ │ ├── activity_fishbowl_svg.xml
│ │ ├── activity_fragment_host_demo.xml
│ │ ├── activity_full_logo_attribution.xml
│ │ ├── activity_viewmodel.xml
│ │ ├── activity_web_launch.xml
│ │ ├── activity_wta_logo_fragment.xml
│ │ ├── aspect_ratio_layout_demo.xml
│ │ ├── attribution.xml
│ │ ├── button_with_font_demo.xml
│ │ ├── cancel_edit_text_demo.xml
│ │ ├── change_fonts_demo.xml
│ │ ├── check_box_with_font_demo.xml
│ │ ├── custom_circular_progress_bar_demo.xml
│ │ ├── custom_progress_dialog_activity.xml
│ │ ├── filter.xml
│ │ ├── filter_header.xml
│ │ ├── filter_list_item.xml
│ │ ├── font_span.xml
│ │ ├── fragment_animated_wta_logo.xml
│ │ ├── fragment_color.xml
│ │ ├── fragment_show_text.xml
│ │ ├── fragment_webview_bak.xml
│ │ ├── gradient_text_view_demo.xml
│ │ ├── is_package_installed_demo.xml
│ │ ├── list_viewmodelitem.xml
│ │ ├── masked_image_view_activity.xml
│ │ ├── nfc_layout.xml
│ │ ├── oak_activity.xml
│ │ ├── obscured_prefs_demo.xml
│ │ ├── parent_swiping_view_pager_demo.xml
│ │ ├── photo_list_item.xml
│ │ ├── resizable_header_demo.xml
│ │ ├── resizable_header_scrollview_header.xml
│ │ ├── resizable_header_scrollview_layout.xml
│ │ ├── resized_textview_demo.xml
│ │ ├── sticky_spreadsheet_demo.xml
│ │ ├── swanky_gallery_demo.xml
│ │ ├── test_fragment.xml
│ │ ├── test_fragment_web_view.xml
│ │ ├── textview_with_font_demo.xml
│ │ └── vertical_viewpager_demo.xml
│ └── values
│ │ ├── arrays.xml
│ │ ├── attrs.xml
│ │ ├── colors.xml
│ │ ├── roboguice.xml
│ │ ├── strings.xml
│ │ └── styles.xml
└── src
│ └── oak
│ └── demo
│ ├── EncryptedPreferences.java
│ ├── EncryptedPreferencesProvider.java
│ ├── EncryptedSharedPreferences.java
│ ├── OakApplication.java
│ ├── OakDemoActivity.java
│ ├── OakDemos.java
│ ├── RoboGuiceModule.java
│ ├── fragmenthostactivity
│ ├── FragmentHostDemoActivity.java
│ ├── ShowTextFragment.java
│ ├── ShowTextSupportFragment.java
│ └── SupportFragmentHostDemoActivity.java
│ ├── image
│ └── SwankyGalleryActivity.java
│ ├── listview
│ └── SectionActivity.java
│ ├── model
│ ├── Person.java
│ └── PhotoItem.java
│ ├── other
│ └── ObscuredPrefsActivity.java
│ ├── svg
│ ├── AnimatedWtaLogoFragment.java
│ ├── AttributionActivity.java
│ ├── FishbowlLogoPaths.java
│ ├── FishbowlSvgActivity.java
│ ├── FullLogoAttributionActivity.java
│ └── WtaLogoPaths.java
│ ├── utils
│ ├── ChangeFontsActivity.java
│ ├── FontTypeFaceSpanActivity.java
│ └── IsPackageInstalledActivity.java
│ ├── verticalpager
│ ├── ColorFragment.java
│ └── HorizonTransform.java
│ ├── viewmodel
│ ├── StringViewModel.java
│ └── ViewModelActivity.java
│ ├── web
│ └── WebLaunchActivity.java
│ └── widget
│ ├── AspectRatioLayoutActivity.java
│ ├── ButtonWithFontActivity.java
│ ├── CancelEditTextActivity.java
│ ├── CheckBoxWithFontActivity.java
│ ├── CustomCircularProgressBarActivity.java
│ ├── CustomProgressDialogActivity.java
│ ├── DefaultPromptSpinner.java
│ ├── MaskedImageViewActivity.java
│ ├── ParentSwipingViewPagerActivity.java
│ ├── ParentSwipingWebViewActivity.java
│ ├── ResizableHeaderScrollViewActivity.java
│ ├── SpreadsheetViewActivity.java
│ ├── TextViewWithFontActivity.java
│ └── VerticalViewPagerActivity.java
├── oak-distribution
├── README.txt
├── pom.xml
└── src
│ └── assembly
│ └── bin.xml
├── oak-gradle-archetype
├── pom.xml
└── src
│ └── main
│ └── resources
│ ├── META-INF
│ └── maven
│ │ └── archetype-metadata.xml
│ └── archetype-resources
│ ├── .gitignore
│ ├── app
│ ├── .gitignore
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ └── fonts
│ │ │ ├── Roboto-Bold.ttf
│ │ │ ├── Roboto-Light.ttf
│ │ │ ├── Roboto-Thin.ttf
│ │ │ └── Roboto.ttf
│ │ ├── java
│ │ ├── Datastore.java
│ │ ├── EncryptedSharedPreferences.java
│ │ ├── MainApp.java
│ │ ├── StartupActivity.java
│ │ └── dagger
│ │ │ ├── AppModule.java
│ │ │ ├── ForActivity.java
│ │ │ ├── ForApplication.java
│ │ │ ├── IObjectGraph.java
│ │ │ └── Injector.java
│ │ └── res
│ │ ├── drawable-hdpi
│ │ └── ic_launcher.png
│ │ ├── drawable-mdpi
│ │ └── ic_launcher.png
│ │ ├── drawable-xhdpi
│ │ └── ic_launcher.png
│ │ ├── drawable-xxhdpi
│ │ └── ic_launcher.png
│ │ ├── drawable-xxxhdpi
│ │ └── ic_launcher.png
│ │ ├── layout
│ │ └── startup.xml
│ │ └── values
│ │ ├── attrs.xml
│ │ ├── colors.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── pom.xml
│ ├── project.properties
│ └── settings.gradle
├── oak-instrumentation
├── AndroidManifest.xml
├── pom.xml
├── project.properties
├── res
│ └── drawable
│ │ └── icon.png
└── src
│ └── main
│ └── java
│ └── oak
│ └── test
│ ├── AllTests.java
│ └── OakApplicationTests.java
├── oak-library
├── AndroidManifest.xml
├── pom.xml
├── project.properties
├── res
│ ├── drawable-xhdpi
│ │ ├── back.png
│ │ ├── forward.png
│ │ └── refresh.png
│ ├── drawable-xxhdpi
│ │ └── wta_logo_subtitle.png
│ ├── drawable
│ │ ├── button_bg.xml
│ │ ├── button_bg_pressed.xml
│ │ ├── resizable_header_bg.xml
│ │ └── web_button_bg.xml
│ ├── layout
│ │ ├── activity_fragment_host.xml
│ │ ├── animated_wta_logo_fragment.xml
│ │ └── webview.xml
│ └── values
│ │ ├── attrs.xml
│ │ ├── ids.xml
│ │ └── strings.xml
└── src
│ └── main
│ └── java
│ └── oak
│ ├── BaseSectionAdapter.java
│ ├── FlushedInputStream.java
│ ├── MultiDirectionSlidingDrawer.java
│ ├── OAK.java
│ ├── Queryable.java
│ ├── SectionAdapter.java
│ ├── Sectionable.java
│ ├── activity
│ ├── FragmentHostActivity.java
│ └── SupportFragmentHostActivity.java
│ ├── svg
│ ├── AnimatedSvgView.java
│ ├── MathUtil.java
│ └── SvgPathParser.java
│ ├── util
│ ├── CurlRequestInterceptor.java
│ ├── RatioSizingUtils.java
│ └── ScaleGestureDetector.java
│ ├── web
│ ├── OakWebViewFragment.java
│ └── WebViewActivity.java
│ └── widget
│ ├── ButtonWithFont.java
│ ├── CancelEditText.java
│ ├── CheckBoxWithFont.java
│ ├── CustomCircularProgressBar.java
│ ├── CustomProgressDialog.java
│ ├── EdgeyViewPager.java
│ ├── MaskedImageView.java
│ ├── ResizableHeaderScrollView.java
│ ├── SceneAnimation.java
│ ├── SectionListView.java
│ ├── SwankyGallery.java
│ ├── SwankyImageView.java
│ ├── TextViewWithFont.java
│ ├── VerticalViewPager.java
│ └── spreadsheetview
│ ├── SpreadsheetCell.java
│ ├── SpreadsheetRow.java
│ └── SpreadsheetView.java
├── oak-parentswipingviews
├── AndroidManifest.xml
├── pom.xml
└── src
│ └── main
│ └── java
│ └── oak
│ └── widget
│ ├── ParentSwipingViewPager.java
│ └── ParentSwipingWebView.java
├── oak-sectionlistview
├── pom.xml
└── src
│ └── main
│ └── java
│ └── oak
│ └── sectionlistview
│ ├── BaseSectionAdapter.java
│ ├── Queryable.java
│ ├── SectionAdapter.java
│ ├── SectionListView.java
│ └── Sectionable.java
├── oak-spreadsheetview
├── AndroidManifest.xml
├── pom.xml
├── res
│ └── values
│ │ └── attrs.xml
└── src
│ └── main
│ └── java
│ └── oak
│ └── spreadsheetview
│ ├── SpreadsheetCell.java
│ ├── SpreadsheetRow.java
│ └── SpreadsheetView.java
├── oak-utils
├── pom.xml
└── src
│ └── main
│ └── java
│ └── oak
│ ├── app
│ ├── CryptoSharedPreferences.java
│ └── OakAsyncLoader.java
│ └── util
│ ├── Base64.java
│ ├── CompatUtils.java
│ ├── FontTypefaceSpan.java
│ ├── OakUtils.java
│ ├── PRNGFixes.java
│ └── Result.java
├── oak-viewmodel
├── pom.xml
└── src
│ └── main
│ └── java
│ └── oak
│ └── viewmodel
│ ├── ViewModel.java
│ ├── ViewModelAdapter.java
│ ├── ViewModelCursorAdapter.java
│ └── ViewModelUtil.java
├── oak-viewswithfont
├── AndroidManifest.xml
├── pom.xml
├── res
│ └── values
│ │ └── attrs.xml
└── src
│ └── main
│ └── java
│ └── oak
│ └── viewswithfont
│ └── widget
│ ├── ButtonWithFont.java
│ ├── CancelEditText.java
│ ├── CheckBoxWithFont.java
│ └── TextViewWithFont.java
├── oak-webview
├── AndroidManifest.xml
├── pom.xml
├── res
│ ├── drawable-xhdpi
│ │ ├── back.png
│ │ ├── forward.png
│ │ └── refresh.png
│ ├── drawable
│ │ ├── button_bg.xml
│ │ ├── button_bg_pressed.xml
│ │ └── web_button_bg.xml
│ ├── layout
│ │ └── webview.xml
│ └── values
│ │ ├── ids.xml
│ │ └── strings.xml
└── src
│ └── main
│ └── java
│ └── oak
│ └── webview
│ ├── Extras.java
│ ├── OakWebViewFragment.java
│ └── WebViewActivity.java
├── pom.xml
└── src
├── development
└── ide
│ ├── eclipse
│ ├── android.importorder
│ └── willowtree-codestyle-eclipse.xml
│ └── intellij
│ └── willowtree-codestyle-intellij.xml
└── site
├── apt
├── OakWebView.apt
├── animatedsvgview.apt
├── beastviewpager.apt
├── cancel_edit_text.apt
├── crypto_prefs.apt
├── dev-doc.apt
├── downloads.apt.vm
├── index.apt
├── obscured_prefs.apt
├── pinnedheader.apt
├── quick-start.apt.vm
├── recommendedlibs.apt
├── section-adapter.apt
├── swankyimageview.apt
├── textviewwithfont.apt
├── user-doc.apt
└── utility.apt
├── resources
├── banner_background.png
├── banner_left.png
├── banner_right.png
├── build-ivy.xml
├── cancel_edit_text.png
├── crypto_shared_prefs.png
├── css
│ └── site.css
├── downloads
│ ├── oak-distribution-1.1.10-SNAPSHOT-bin.tar.gz
│ ├── oak-distribution-1.1.10-SNAPSHOT-bin.zip
│ ├── oak-distribution-1.1.9-bin.tar.gz
│ ├── oak-distribution-1.1.9-bin.zip
│ ├── oak-distribution-1.3.7-SNAPSHOT-bin.tar.gz
│ ├── oak-distribution-1.3.7-SNAPSHOT-bin.zip
│ ├── oak-library-1.1.10-SNAPSHOT.jar
│ └── oak-library-1.1.9.jar
├── images
│ ├── android-logo.jpg
│ └── wta_circle.png
├── obscured_shared_prefs.png
├── section_list_demo.mp4
├── sectionadapter.png
├── spreedsheet_demo.mp4
├── svg_demo.mp4
├── swanky_gallery_demo.mp4
└── vertical_viewpager_demo.mp4
└── site.xml
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea/
2 | .settings/
3 | gen/
4 | bin/
5 | *.log
6 | proguard/
7 | local.properties
8 | *.DS_Store
9 | design/
10 | Tests/
11 | external_data/
12 | out/
13 | *.iml
14 | *.ipr
15 | target/
16 | .project
17 | .classpath
18 | target/
19 | classes/
20 | gen-external-apklibs/
21 | tmp/
--------------------------------------------------------------------------------
/README.txt:
--------------------------------------------------------------------------------
1 | DEPRECATED.
2 |
3 | This library has been deprecated. We may move individual aspects of this library into small targetted libraries. This page will be updated when that occurs.
4 |
5 | Full site and documentation:
6 | http://willowtreeapps.github.com/OAK/
7 |
8 | ..or..
9 | After checking out to your local machine
10 | run "mvn site:run" to view the docs on http://localhost:8080/
11 |
--------------------------------------------------------------------------------
/clean_project_files.sh:
--------------------------------------------------------------------------------
1 | #/bin/sh
2 |
3 | rm -Rf *.ipr
4 | rm -Rf *.iws
5 | rm -Rf *.iml
6 | rm -Rf .idea
7 | rm -Rf */*.iml
8 | rm -Rf */target
9 | rm -Rf */.settings
10 | rm -Rf */.classpath
11 | rm -Rf */.project
12 | rm -Rf .settings
13 | rm -Rf .classpath
14 | rm -Rf .project
15 |
--------------------------------------------------------------------------------
/external/oak_icon_512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/external/oak_icon_512.png
--------------------------------------------------------------------------------
/external/screenshot1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/external/screenshot1.png
--------------------------------------------------------------------------------
/external/screenshot2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/external/screenshot2.png
--------------------------------------------------------------------------------
/external/screenshot3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/external/screenshot3.png
--------------------------------------------------------------------------------
/oak-animatedsvgview/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/oak-animatedsvgview/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | com.willowtreeapps
6 | oak-project
7 | 1.4.1-SNAPSHOT
8 |
9 | com.willowtreeapps
10 | oak-animatedsvgview
11 | OAK - AnimatedSVGView
12 | aar
13 | A library for shared android functionality
14 |
15 |
16 |
17 |
18 | com.android.support
19 | support-v4
20 | 19.0.0
21 |
22 |
23 |
24 | com.google.android
25 | android
26 | provided
27 |
28 |
29 |
30 |
31 |
32 |
33 | com.jayway.maven.plugins.android.generation2
34 | android-maven-plugin
35 | true
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/oak-animatedsvgview/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/.gitignore:
--------------------------------------------------------------------------------
1 | *.apk
2 | *.ap_
3 | *.dex
4 | *.class
5 | *.iml
6 | .gitignore~
7 | .idea/
8 | .DS_STORE
9 | .classpath
10 | .settings/
11 | bin/
12 | gen/
13 | local.properties
14 | target/
15 | classes/
16 | gen-external-apklibs/
17 | out/
18 | tmp/
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/project.properties:
--------------------------------------------------------------------------------
1 | target=android-${platform}
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Bold.ttf
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Light.ttf
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Thin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Thin.ttf
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto.ttf
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/readoutcondenseditalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/readoutcondenseditalic.ttf
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/java/Datastore.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 | import com.google.inject.Inject;
4 | import com.google.inject.Singleton;
5 |
6 | import android.content.SharedPreferences;
7 |
8 | @Singleton
9 | public class Datastore {
10 |
11 | private static final String DEVICE_VERSION = "DeviceVersion";
12 |
13 | @Inject EncryptedSharedPreferences encryptedSharedPreferences;
14 |
15 | private SharedPreferences.Editor getEditor() {
16 | return encryptedSharedPreferences.edit();
17 | }
18 |
19 | private SharedPreferences getPrefs() {
20 | return encryptedSharedPreferences;
21 | }
22 | public int getVersion() {
23 | return getPrefs().getInt(DEVICE_VERSION, 0);
24 | }
25 | public void persistVersion(int version) {
26 | getEditor().putInt(DEVICE_VERSION, version).commit();
27 | }
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/java/EncryptedSharedPreferences.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 | import android.content.Context;
4 | import android.content.SharedPreferences;
5 | import java.util.Set;
6 |
7 | import oak.CryptoSharedPreferences;
8 |
9 | /**
10 | * Generated from archetypezz
11 | */
12 |
13 | public final class EncryptedSharedPreferences extends CryptoSharedPreferences {
14 |
15 | public EncryptedSharedPreferences(Context context, SharedPreferences delegate) {
16 | super(context, delegate);
17 | }
18 |
19 | @Override
20 | protected char[] getSpecialCode() {
21 | return "y0urPa$$w0rdH3r3".toCharArray();
22 | }
23 |
24 | @Override
25 | public Set getStringSet(String s, Set strings) {
26 | return null;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/java/RoboGuiceModule.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 | import com.google.inject.AbstractModule;
4 |
5 | /**
6 | * Generated from archetype
7 | */
8 | public class RoboGuiceModule extends AbstractModule {
9 |
10 | @Override
11 | protected void configure() {
12 | bind(EncryptedSharedPreferences.class).toProvider(EncryptedPreferencesProvider.class);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/java/TabA.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 | import com.github.rtyley.android.sherlock.roboguice.fragment.RoboSherlockListFragment;
4 |
5 | import android.os.Bundle;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 | import android.widget.ArrayAdapter;
10 | import android.widget.ListAdapter;
11 | import android.widget.ListView;
12 | import android.widget.Toast;
13 |
14 | import oak.widget.TextViewWithFont;
15 | import roboguice.inject.InjectResource;
16 | import roboguice.inject.InjectView;
17 |
18 | public class TabA extends RoboSherlockListFragment {
19 |
20 | private String[] dataArray = new String[]{"This", "Is", "An", "Android", "App!"};
21 |
22 | @Override
23 | public void onCreate(Bundle savedInstanceState) {
24 | super.onCreate(savedInstanceState);
25 |
26 | ListAdapter listAdapter = new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_1, dataArray);
27 | setListAdapter(listAdapter);
28 | }
29 |
30 | @Override
31 | public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
32 | return inflater.inflate(R.layout.simple_list_fragment, container, false);
33 | }
34 |
35 | @Override
36 | public void onListItemClick(ListView list, View v, int position, long id) {
37 | Toast.makeText(getSherlockActivity(), getListView().getItemAtPosition(position).toString(), Toast.LENGTH_SHORT).show();
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/java/TabB.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 | import com.github.rtyley.android.sherlock.roboguice.fragment.RoboSherlockFragment;
4 |
5 | import android.os.Bundle;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 |
10 | import oak.widget.TextViewWithFont;
11 | import roboguice.inject.InjectResource;
12 | import roboguice.inject.InjectView;
13 |
14 | public class TabB extends RoboSherlockFragment {
15 |
16 | @InjectView(R.id.display_text)
17 | private TextViewWithFont displayText;
18 | @InjectResource(R.color.custom_green)
19 | private int customGreen;
20 |
21 | @Override
22 | public View onCreateView(LayoutInflater inflater, ViewGroup container,
23 | Bundle savedInstanceState) {
24 |
25 | View newView = inflater.inflate(R.layout.tab_template,container,false);
26 | return newView;
27 | }
28 |
29 | @Override
30 | public void onViewCreated(View view, Bundle savedInstanceState) {
31 | super.onViewCreated(view, savedInstanceState);
32 | //Injection occurs in onViewCreated
33 |
34 | displayText.setText("Here is tab B");
35 | displayText.setTextColor(customGreen);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/java/TabC.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 | import com.github.rtyley.android.sherlock.roboguice.fragment.RoboSherlockFragment;
4 |
5 | import android.os.Bundle;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 |
10 | import oak.widget.TextViewWithFont;
11 | import roboguice.inject.InjectResource;
12 | import roboguice.inject.InjectView;
13 |
14 | public class TabC extends RoboSherlockFragment {
15 |
16 | @InjectView(R.id.display_text)
17 | private TextViewWithFont displayText;
18 | @InjectResource(R.color.custom_blue)
19 | private int customBlue;
20 |
21 | @Override
22 | public View onCreateView(LayoutInflater inflater, ViewGroup container,
23 | Bundle savedInstanceState) {
24 |
25 | View newView = inflater.inflate(R.layout.tab_template,container,false);
26 | return newView;
27 | }
28 |
29 | @Override
30 | public void onViewCreated(View view, Bundle savedInstanceState) {
31 | super.onViewCreated(view, savedInstanceState);
32 | //Injection occurs in onViewCreated
33 |
34 | displayText.setText("And then there is tab C");
35 | displayText.setTextColor(customBlue);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-archetype/src/main/resources/archetype-resources/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-archetype/src/main/resources/archetype-resources/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/res/layout/simple_list_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
8 |
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/res/layout/startup_tabs.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/res/layout/tab_template.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #00edf2
4 | #f20000
5 | #55f200
6 |
7 |
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/res/values/roboguice.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | - ${package}.RoboGuiceModule
4 |
5 |
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hello ${artifactId}!
4 | ${artifactId}
5 |
6 |
--------------------------------------------------------------------------------
/oak-archetype/src/main/resources/archetype-resources/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
11 |
15 |
18 |
21 |
--------------------------------------------------------------------------------
/oak-aspectratioview/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/oak-aspectratioview/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | com.willowtreeapps
6 | oak-project
7 | 1.4.1-SNAPSHOT
8 |
9 | com.willowtreeapps
10 | oak-aspectratioview
11 | OAK - AspectRatioView
12 | aar
13 | A library for shared android functionality
14 |
15 |
16 |
17 |
18 | com.google.android
19 | android
20 | provided
21 |
22 |
23 |
24 |
25 |
26 |
27 | com.jayway.maven.plugins.android.generation2
28 | android-maven-plugin
29 | true
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/oak-aspectratioview/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/.gitignore:
--------------------------------------------------------------------------------
1 | *.apk
2 | *.ap_
3 | *.dex
4 | *.class
5 | *.iml
6 | .gitignore~
7 | .idea/
8 | .DS_STORE
9 | .classpath
10 | .settings/
11 | bin/
12 | gen/
13 | local.properties
14 | target/
15 | classes/
16 | gen-external-apklibs/
17 | out/
18 | tmp/
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/project.properties:
--------------------------------------------------------------------------------
1 | target=android-${platform}
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Bold.ttf
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Light.ttf
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Thin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Thin.ttf
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto.ttf
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/java/Datastore.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 | import android.app.Application;
4 | import android.preference.PreferenceManager;
5 |
6 | import javax.inject.Singleton;
7 |
8 | import android.content.SharedPreferences;
9 |
10 | @Singleton
11 | public class Datastore {
12 |
13 | private static final String DEVICE_VERSION = "DeviceVersion";
14 |
15 | EncryptedSharedPreferences encryptedSharedPreferences;
16 |
17 | public Datastore(Application app) {
18 | encryptedSharedPreferences = new EncryptedSharedPreferences(app,
19 | PreferenceManager.getDefaultSharedPreferences(app));
20 | }
21 |
22 | private SharedPreferences.Editor getEditor() {
23 | return encryptedSharedPreferences.edit();
24 | }
25 |
26 | private SharedPreferences getPrefs() {
27 | return encryptedSharedPreferences;
28 | }
29 | public int getVersion() {
30 | return getPrefs().getInt(DEVICE_VERSION, 0);
31 | }
32 | public void persistVersion(int version) {
33 | getEditor().putInt(DEVICE_VERSION, version).commit();
34 | }
35 | }
36 |
37 |
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/java/EncryptedSharedPreferences.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 | import android.content.Context;
4 | import android.content.SharedPreferences;
5 | import java.util.Set;
6 |
7 | import oak.CryptoSharedPreferences;
8 |
9 | /**
10 | * Generated from archetypezz
11 | */
12 |
13 | public final class EncryptedSharedPreferences extends CryptoSharedPreferences {
14 |
15 | public EncryptedSharedPreferences(Context context, SharedPreferences delegate) {
16 | super(context, delegate);
17 | }
18 |
19 | @Override
20 | protected char[] getSpecialCode() {
21 | return "y0urPa$$w0rdH3r3".toCharArray();
22 | }
23 |
24 | @Override
25 | public Set getStringSet(String s, Set strings) {
26 | return null;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/java/StartupActivity.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 |
4 | import android.graphics.PixelFormat;
5 | import android.os.Bundle;
6 | import android.support.v4.app.FragmentActivity;
7 | import android.util.Log;
8 | import android.view.Window;
9 |
10 | //We still use FragmentActivity because Support fragments are better than native Fragments, True Story.
11 | public class StartupActivity extends FragmentActivity {
12 |
13 | @Override
14 | public void onCreate(Bundle savedInstanceState) {
15 | super.onCreate(savedInstanceState);
16 | Log.i(MainApp.TAG, "onCreate");
17 | setContentView(R.layout.startup);
18 |
19 | }
20 |
21 | @Override
22 | public void onAttachedToWindow() {
23 | super.onAttachedToWindow();
24 | Window window = this.getWindow();
25 |
26 | // Eliminates color banding
27 | window.setFormat(PixelFormat.RGBA_8888);
28 | }
29 |
30 | }
31 |
32 |
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/java/dagger/ForActivity.java:
--------------------------------------------------------------------------------
1 | package ${package}.dagger;
2 |
3 | import java.lang.annotation.Retention;
4 |
5 | import javax.inject.Qualifier;
6 |
7 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
8 |
9 | /**
10 | * Created by ericrichardson on 7/26/13.
11 | */
12 | @Qualifier
13 | @Retention(RUNTIME)
14 | public @interface ForActivity {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/java/dagger/ForApplication.java:
--------------------------------------------------------------------------------
1 | package ${package}.dagger;
2 |
3 | import java.lang.annotation.Retention;
4 |
5 | import javax.inject.Qualifier;
6 |
7 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
8 |
9 | /**
10 | * Created by ericrichardson on 7/26/13.
11 | */
12 | @Qualifier
13 | @Retention(RUNTIME)
14 | public @interface ForApplication {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/java/dagger/IObjectGraph.java:
--------------------------------------------------------------------------------
1 | package ${package}.dagger;
2 |
3 | import dagger.ObjectGraph;
4 |
5 | /**
6 | * Created by Archetype
7 | */
8 | public interface IObjectGraph {
9 | ObjectGraph getObjectGraph();
10 | }
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/java/dagger/Injector.java:
--------------------------------------------------------------------------------
1 | package ${package}.dagger;
2 |
3 | import android.content.Context;
4 |
5 | /**
6 | * User: evantatarka Date: 7/30/13 Time: 4:30 PM
7 | */
8 | public class Injector {
9 | public static void inject(Object toInject, Context context) {
10 | ((IObjectGraph) context.getApplicationContext()).getObjectGraph().inject(toInject);
11 | }
12 |
13 | public static void inject(Context context) {
14 | ((IObjectGraph) context.getApplicationContext()).getObjectGraph().inject(context);
15 | }
16 |
17 | private Context mContext;
18 |
19 | public Injector(Context context) {
20 | mContext = context;
21 | }
22 |
23 | public void inject(Object toInject) {
24 | ((IObjectGraph) mContext.getApplicationContext()).getObjectGraph().inject(toInject);
25 | }
26 | }
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/res/layout/startup.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #00edf2
4 | #f20000
5 | #55f200
6 |
7 |
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hello ${artifactId}!
4 | ${artifactId}
5 |
6 |
--------------------------------------------------------------------------------
/oak-dagger-api15-archetype/src/main/resources/archetype-resources/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
11 |
15 |
18 |
21 |
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/.gitignore:
--------------------------------------------------------------------------------
1 | *.apk
2 | *.ap_
3 | *.dex
4 | *.class
5 | *.iml
6 | .gitignore~
7 | .idea/
8 | .DS_STORE
9 | .classpath
10 | .settings/
11 | bin/
12 | gen/
13 | local.properties
14 | target/
15 | classes/
16 | gen-external-apklibs/
17 | out/
18 | tmp/
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/project.properties:
--------------------------------------------------------------------------------
1 | target=android-${platform}
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Bold.ttf
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Light.ttf
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Thin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto-Thin.ttf
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/assets/fonts/Roboto.ttf
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/java/Datastore.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 | import android.app.Application;
4 | import android.preference.PreferenceManager;
5 |
6 | import javax.inject.Singleton;
7 |
8 | import android.content.SharedPreferences;
9 |
10 | @Singleton
11 | public class Datastore {
12 |
13 | private static final String DEVICE_VERSION = "DeviceVersion";
14 |
15 | EncryptedSharedPreferences encryptedSharedPreferences;
16 |
17 | public Datastore(Application app) {
18 | encryptedSharedPreferences = new EncryptedSharedPreferences(app,
19 | PreferenceManager.getDefaultSharedPreferences(app));
20 | }
21 |
22 | private SharedPreferences.Editor getEditor() {
23 | return encryptedSharedPreferences.edit();
24 | }
25 |
26 | private SharedPreferences getPrefs() {
27 | return encryptedSharedPreferences;
28 | }
29 | public int getVersion() {
30 | return getPrefs().getInt(DEVICE_VERSION, 0);
31 | }
32 | public void persistVersion(int version) {
33 | getEditor().putInt(DEVICE_VERSION, version).commit();
34 | }
35 | }
36 |
37 |
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/java/EncryptedSharedPreferences.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 | import android.content.Context;
4 | import android.content.SharedPreferences;
5 | import java.util.Set;
6 |
7 | import oak.CryptoSharedPreferences;
8 |
9 | /**
10 | * Generated from archetypezz
11 | */
12 |
13 | public final class EncryptedSharedPreferences extends CryptoSharedPreferences {
14 |
15 | public EncryptedSharedPreferences(Context context, SharedPreferences delegate) {
16 | super(context, delegate);
17 | }
18 |
19 | @Override
20 | protected char[] getSpecialCode() {
21 | return "y0urPa$$w0rdH3r3".toCharArray();
22 | }
23 |
24 | @Override
25 | public Set getStringSet(String s, Set strings) {
26 | return null;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/java/StartupActivity.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 |
4 | import android.graphics.PixelFormat;
5 | import android.os.Bundle;
6 | import android.support.v4.app.Fragment;
7 | import android.support.v4.app.FragmentTransaction;
8 | import android.util.Log;
9 | import android.view.Window;
10 | import android.support.v7.app.ActionBarActivity;
11 |
12 | public class StartupActivity extends ActionBarActivity {
13 |
14 | @Override
15 | public void onCreate(Bundle savedInstanceState) {
16 | super.onCreate(savedInstanceState);
17 | Log.i(MainApp.TAG, "onCreate");
18 | setContentView(R.layout.startup);
19 | }
20 |
21 | @Override
22 | public void onAttachedToWindow() {
23 | super.onAttachedToWindow();
24 | Window window = this.getWindow();
25 |
26 | // Eliminates color banding
27 | window.setFormat(PixelFormat.RGBA_8888);
28 | }
29 |
30 | }
31 |
32 |
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/java/dagger/AppModule.java:
--------------------------------------------------------------------------------
1 | package ${package}.dagger;
2 |
3 | import android.app.Application;
4 | import android.content.Context;
5 | import dagger.Module;
6 |
7 | import ${package}.Datastore;
8 | import ${package}.MainApp;
9 | import com.squareup.okhttp.OkHttpClient;
10 |
11 | import java.net.URL;
12 |
13 | import javax.inject.Singleton;
14 |
15 | import dagger.Provides;
16 |
17 | @Module(injects = {
18 | Injector.class,
19 | MainApp.class,
20 | }, library = true, complete = true)
21 | public class AppModule {
22 | private final Application application;
23 | private final Injector injector;
24 |
25 | public AppModule(Application application) {
26 | this.application = application;
27 | this.injector = new Injector(application);
28 | }
29 |
30 | /**
31 | * Allow the application context to be injected but require that it be annotated with {@link
32 | * ForApplication @Annotation} to explicitly differentiate it from an activity context.
33 | */
34 | @Provides
35 | @Singleton
36 | @ForApplication
37 | Context provideApplicationContext() {
38 | return application;
39 | }
40 |
41 | @Provides
42 | @Singleton
43 | Injector providesInjector() {
44 | return injector;
45 | }
46 |
47 | @Provides
48 | @Singleton
49 | OkHttpClient providesOkHttpClient() {
50 | OkHttpClient httpClient = new OkHttpClient();
51 | URL.setURLStreamHandlerFactory(httpClient);
52 | return httpClient;
53 | }
54 |
55 | @Provides
56 | @Singleton
57 | Datastore providesDatastore() {
58 | return new Datastore(application);
59 | }
60 |
61 | }
62 |
63 |
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/java/dagger/ForActivity.java:
--------------------------------------------------------------------------------
1 | package ${package}.dagger;
2 |
3 | import java.lang.annotation.Retention;
4 |
5 | import javax.inject.Qualifier;
6 |
7 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
8 |
9 | /**
10 | * Created by ericrichardson on 7/26/13.
11 | */
12 | @Qualifier
13 | @Retention(RUNTIME)
14 | public @interface ForActivity {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/java/dagger/ForApplication.java:
--------------------------------------------------------------------------------
1 | package ${package}.dagger;
2 |
3 | import java.lang.annotation.Retention;
4 |
5 | import javax.inject.Qualifier;
6 |
7 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
8 |
9 | /**
10 | * Created by ericrichardson on 7/26/13.
11 | */
12 | @Qualifier
13 | @Retention(RUNTIME)
14 | public @interface ForApplication {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/java/dagger/IObjectGraph.java:
--------------------------------------------------------------------------------
1 | package ${package}.dagger;
2 |
3 | import dagger.ObjectGraph;
4 |
5 | /**
6 | * Created by Archetype
7 | */
8 | public interface IObjectGraph {
9 | ObjectGraph getObjectGraph();
10 | }
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/java/dagger/Injector.java:
--------------------------------------------------------------------------------
1 | package ${package}.dagger;
2 |
3 | import android.content.Context;
4 |
5 | /**
6 | * User: evantatarka Date: 7/30/13 Time: 4:30 PM
7 | */
8 | public class Injector {
9 | public static void inject(Object toInject, Context context) {
10 | ((IObjectGraph) context.getApplicationContext()).getObjectGraph().inject(toInject);
11 | }
12 |
13 | public static void inject(Context context) {
14 | ((IObjectGraph) context.getApplicationContext()).getObjectGraph().inject(context);
15 | }
16 |
17 | private Context mContext;
18 |
19 | public Injector(Context context) {
20 | mContext = context;
21 | }
22 |
23 | public void inject(Object toInject) {
24 | ((IObjectGraph) mContext.getApplicationContext()).getObjectGraph().inject(toInject);
25 | }
26 | }
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/res/drawable-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/res/layout/startup.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #00edf2
4 | #f20000
5 | #55f200
6 |
7 |
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hello ${artifactId}!
4 | ${artifactId}
5 |
6 |
--------------------------------------------------------------------------------
/oak-dagger-archetype/src/main/resources/archetype-resources/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
11 |
15 |
18 |
21 |
--------------------------------------------------------------------------------
/oak-demos/assets/fonts/Apple Chancery.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/assets/fonts/Apple Chancery.ttf
--------------------------------------------------------------------------------
/oak-demos/assets/fonts/LiberationMono-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/assets/fonts/LiberationMono-Regular.ttf
--------------------------------------------------------------------------------
/oak-demos/assets/fonts/Once_upon_a_time.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/assets/fonts/Once_upon_a_time.ttf
--------------------------------------------------------------------------------
/oak-demos/assets/fonts/Roboto-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/assets/fonts/Roboto-Bold.ttf
--------------------------------------------------------------------------------
/oak-demos/assets/fonts/Roboto-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/assets/fonts/Roboto-Light.ttf
--------------------------------------------------------------------------------
/oak-demos/assets/fonts/Roboto-Thin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/assets/fonts/Roboto-Thin.ttf
--------------------------------------------------------------------------------
/oak-demos/assets/fonts/Roboto.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/assets/fonts/Roboto.ttf
--------------------------------------------------------------------------------
/oak-demos/demos_keystore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/demos_keystore
--------------------------------------------------------------------------------
/oak-demos/proguard.cfg:
--------------------------------------------------------------------------------
1 | -optimizationpasses 5
2 | -dontusemixedcaseclassnames
3 | -dontskipnonpubliclibraryclasses
4 | -dontskipnonpubliclibraryclassmembers
5 | -dontpreverify
6 | -verbose
7 | -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
8 |
9 | -dontwarn com.google.common.collect.MinMaxPriorityQueue
10 | -dontwarn com.google.inject.Inject
11 | -dontwarn roboguice.inject.ContextSingleton
12 |
13 |
14 | -keep public class * extends android.app.Activity
15 | -keep public class * extends android.app.Application
16 | -keep public class * extends android.app.Service
17 | -keep public class * extends android.content.BroadcastReceiver
18 | -keep public class * extends android.content.ContentProvider
19 | -keep public class * extends android.app.backup.BackupAgentHelper
20 | -keep public class * extends android.preference.Preference
21 |
22 | -keepclasseswithmembernames class * {
23 | native ;
24 | }
25 |
26 | -keepclasseswithmembers class * {
27 | public (android.content.Context, android.util.AttributeSet);
28 | }
29 |
30 | -keepclasseswithmembers class * {
31 | public (android.content.Context, android.util.AttributeSet, int);
32 | }
33 |
34 | -keepclassmembers class * extends android.app.Activity {
35 | public void *(android.view.View);
36 | }
37 |
38 | -keepclassmembers enum * {
39 | public static **[] values();
40 | public static ** valueOf(java.lang.String);
41 | }
42 |
43 | -keep class * implements android.os.Parcelable {
44 | public static final android.os.Parcelable$Creator *;
45 | }
46 |
--------------------------------------------------------------------------------
/oak-demos/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system use,
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 |
10 | # Indicates whether an apk should be generated for each density.
11 | split.density=false
12 | # Project target.
13 | target=android-16
14 | android.library.reference.0=gen-external-apklibs/com.actionbarsherlock_library_4.1.0
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/attribution.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/attribution.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/cell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/cell.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/cell_bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/cell_bottom.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/cell_mid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/cell_mid.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/cell_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/cell_top.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/oak_ic_cancel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/oak_ic_cancel.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/spinner_16_inner_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/spinner_16_inner_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/spinner_16_outer_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/spinner_16_outer_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/spinner_48_inner_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/spinner_48_inner_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/spinner_48_outer_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/spinner_48_outer_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/spinner_76_inner_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/spinner_76_inner_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/spinner_76_outer_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/spinner_76_outer_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/swanky1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/swanky1.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/swanky2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/swanky2.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/swanky3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/swanky3.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-hdpi/swanky4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-hdpi/swanky4.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-mdpi/spinner_16_inner_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-mdpi/spinner_16_inner_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-mdpi/spinner_16_outer_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-mdpi/spinner_16_outer_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-mdpi/spinner_48_inner_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-mdpi/spinner_48_inner_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-mdpi/spinner_48_outer_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-mdpi/spinner_48_outer_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-mdpi/spinner_76_inner_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-mdpi/spinner_76_inner_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-mdpi/spinner_76_outer_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-mdpi/spinner_76_outer_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/ic_menu_my_calendar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/ic_menu_my_calendar.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/ic_menu_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/ic_menu_search.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_00.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_00.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_01.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_02.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_03.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_04.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_05.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_06.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_07.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_08.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_09.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_10.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_11.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_12.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_13.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_14.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_15.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_16.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_17.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_18.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_19.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/loading_20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/loading_20.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/oak_ic_cancel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/oak_ic_cancel.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/spinner_16_inner_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/spinner_16_inner_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/spinner_16_outer_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/spinner_16_outer_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/spinner_48_inner_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/spinner_48_inner_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/spinner_48_outer_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/spinner_48_outer_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/spinner_76_inner_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/spinner_76_inner_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable-xhdpi/spinner_76_outer_holo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-demos/res/drawable-xhdpi/spinner_76_outer_holo.png
--------------------------------------------------------------------------------
/oak-demos/res/drawable/card_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | -
16 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/oak-demos/res/drawable/progress_large_holo.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | -
19 |
25 |
26 | -
27 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/oak-demos/res/drawable/progress_medium_holo.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | -
19 |
25 |
26 | -
27 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/oak-demos/res/drawable/progress_small_holo.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | -
19 |
25 |
26 | -
27 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/oak-demos/res/drawable/spreadsheetcellselectedshape.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/oak-demos/res/drawable/spreadsheetcolumncellshape.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/oak-demos/res/drawable/spreadsheetdatacellshape.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/oak-demos/res/drawable/spreadsheetfootercellshape.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/oak-demos/res/drawable/spreadsheetheadercellshape.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/activity_attribution.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
12 |
13 |
18 |
19 |
22 |
23 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/activity_fishbowl_svg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
13 |
14 |
19 |
20 |
27 |
28 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/activity_full_logo_attribution.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
13 |
14 |
19 |
20 |
31 |
32 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/activity_viewmodel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
13 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/activity_web_launch.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
13 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/activity_wta_logo_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
14 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/attribution.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/custom_progress_dialog_activity.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/filter_header.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
29 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/font_span.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
14 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/fragment_animated_wta_logo.xml:
--------------------------------------------------------------------------------
1 |
16 |
23 |
24 |
31 |
32 |
39 |
40 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/fragment_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
12 |
13 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/fragment_show_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
14 |
15 |
21 |
22 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/gradient_text_view_demo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
25 |
26 |
34 |
35 |
43 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/is_package_installed_demo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
24 |
28 |
32 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/list_viewmodelitem.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
17 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/masked_image_view_activity.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
24 |
25 |
29 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/nfc_layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/oak_activity.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
22 |
25 |
30 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/parent_swiping_view_pager_demo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/photo_list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
22 |
28 |
29 |
36 |
37 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/resizable_header_demo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
19 |
20 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/resizable_header_scrollview_header.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
15 |
16 |
23 |
24 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/swanky_gallery_demo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/test_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
23 |
24 |
28 |
29 |
33 |
34 |
40 |
41 |
--------------------------------------------------------------------------------
/oak-demos/res/layout/vertical_viewpager_demo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
12 |
--------------------------------------------------------------------------------
/oak-demos/res/values/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | - #ffffff
4 | - #0000ff
5 | - #ff0000
6 | - #00ff00
7 |
8 |
9 | - 0.0
10 | - 0.5
11 | - 0.51
12 | - 1.0
13 |
14 |
--------------------------------------------------------------------------------
/oak-demos/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/oak-demos/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #ffffffff
4 | #ff000000
5 | #ff333333
6 | #ff0088ff
7 | #ffff0000
8 | #ff0000ff
9 | #ffff0000
10 | #ffff00ff
11 | #ff00ff00
12 | #ffffff00
13 | #0099cc
14 | #D9000000
15 | #26ffffff
16 | #878787
17 |
--------------------------------------------------------------------------------
/oak-demos/res/values/roboguice.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | - oak.demo.RoboGuiceModule
4 |
5 |
--------------------------------------------------------------------------------
/oak-demos/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
10 |
13 |
16 |
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/EncryptedPreferences.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011. WillowTree Apps, 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 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package oak.demo;
17 |
18 | import android.content.Context;
19 | import android.content.SharedPreferences;
20 |
21 | import java.util.Set;
22 |
23 | import oak.app.CryptoSharedPreferences;
24 |
25 |
26 | /**
27 | * User: mlake Date: 12/19/11 Time: 11:16 AM
28 | */
29 | // START SNIPPET: encrypted_prefs
30 | public class EncryptedPreferences extends CryptoSharedPreferences {
31 |
32 | public EncryptedPreferences(Context context, SharedPreferences delegate) {
33 | super(context, delegate);
34 | }
35 |
36 | /**
37 | * This should be replaced with a user input pass phrase or an externally
38 | * retrieved pass phrase if possible.
39 | *
40 | * @return
41 | */
42 | @Override
43 | protected char[] getSpecialCode() {
44 | return "THIS IS MY ENCRYPTING KEY PHRASE@@!".toCharArray();
45 | }
46 |
47 | @Override
48 | public Set getStringSet(String s, Set strings) {
49 | return null;
50 | }
51 | }
52 | // END SNIPPET: encrypted_prefs
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/EncryptedSharedPreferences.java:
--------------------------------------------------------------------------------
1 | package oak.demo;
2 |
3 | import android.content.Context;
4 | import android.content.SharedPreferences;
5 |
6 | import java.util.Set;
7 |
8 | import oak.app.CryptoSharedPreferences;
9 |
10 |
11 | public final class EncryptedSharedPreferences extends CryptoSharedPreferences {
12 |
13 | public EncryptedSharedPreferences(Context context, SharedPreferences delegate) {
14 | super(context, delegate);
15 | }
16 |
17 | /**
18 | * This should be replaced with a user input pass phrase or an externally
19 | * retrieved pass phrase if possible.
20 | *
21 | * @return
22 | */
23 | @Override
24 | protected char[] getSpecialCode() {
25 | return "y0urPa$$w0rdH3r3".toCharArray();
26 | }
27 |
28 | @Override
29 | public Set getStringSet(String s, Set strings) {
30 | return null;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/OakApplication.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011. WillowTree Apps, 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 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package oak.demo;
17 |
18 | import android.app.Application;
19 |
20 | import oak.util.PRNGFixes;
21 |
22 | /**
23 | * User: Michael Lake Date: 9/20/11 Time: 10:53 AM
24 | *
25 | * This is just a placeholder class that lets us demonstrate the testing
26 | * framework
27 | */
28 | public class OakApplication extends Application {
29 |
30 | private String message;
31 |
32 | @Override
33 | public void onCreate() {
34 | super.onCreate();
35 |
36 | message = "testMessage";
37 |
38 | /**
39 | * Ensure the keys generated for the CryptoSharedPreferences are strong and sufficiently
40 | * random.
41 | *
42 | * See http://android-developers.blogspot.com/2013/08/some-securerandom-thoughts.html
43 | */
44 | PRNGFixes.apply();
45 |
46 | }
47 |
48 | public String getMessage() {
49 | return message;
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/RoboGuiceModule.java:
--------------------------------------------------------------------------------
1 | package oak.demo;
2 |
3 | import com.google.inject.AbstractModule;
4 |
5 | /**
6 | * Generated from archetype
7 | */
8 | public class RoboGuiceModule extends AbstractModule {
9 |
10 | @Override
11 | protected void configure() {
12 | bind(EncryptedSharedPreferences.class).toProvider(EncryptedPreferencesProvider.class);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/image/SwankyGalleryActivity.java:
--------------------------------------------------------------------------------
1 | package oak.demo.image;
2 |
3 | import android.os.Bundle;
4 | import android.widget.Toast;
5 |
6 | import oak.demo.OakDemoActivity;
7 | import oak.demo.R;
8 | import oak.widget.SwankyGallery;
9 | import oak.widget.SwankyGallery.OnGalleryPageSelectedListener;
10 | import oak.widget.SwankyGallery.SwankyAdapter;
11 | import roboguice.inject.InjectView;
12 |
13 | /**
14 | * User: Nate Date: 7/9/12 Time: 11:25 AM
15 | */
16 | public class SwankyGalleryActivity extends OakDemoActivity {
17 |
18 | @InjectView(R.id.swanky_gallery) SwankyGallery gallery;
19 |
20 | private int[] mImageIds = new int[]{R.drawable.swanky1, R.drawable.swanky2, R.drawable.swanky3, R.drawable.swanky4};
21 |
22 | @Override
23 | protected void onCreate(Bundle savedInstanceState) {
24 | super.onCreate(savedInstanceState);
25 | setContentView(R.layout.swanky_gallery_demo);
26 | gallery.setAdapter(new SwankyAdapter(this, mImageIds));
27 | gallery.setOnGalleryPageSelectedListener(new OnGalleryPageSelectedListener() {
28 | @Override
29 | public void onPageSelected(int i) {
30 | Toast.makeText(SwankyGalleryActivity.this, i + " selected", Toast.LENGTH_SHORT).show();
31 | }
32 | });
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/model/PhotoItem.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011. WillowTree Apps, 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 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package oak.demo.model;
17 |
18 | public class PhotoItem {
19 |
20 | private String url;
21 |
22 | String title;
23 |
24 | public void setTitle(String title) {
25 | this.title = title;
26 | }
27 |
28 | public String getTitle() {
29 | return title;
30 | }
31 |
32 | public void setUrl(String url) {
33 | this.url = url;
34 | }
35 |
36 | public String getURL() {
37 | return url;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/utils/ChangeFontsActivity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011. WillowTree Apps, 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 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package oak.demo.utils;
17 |
18 | import android.os.Bundle;
19 |
20 | import oak.demo.OakDemoActivity;
21 | import oak.demo.R;
22 | import oak.util.OakUtils;
23 |
24 | /**
25 | * User: Michael Lake Date: 11/21/11 Time: 5:33 PM
26 | */
27 |
28 |
29 | public class ChangeFontsActivity extends OakDemoActivity {
30 |
31 | @Override
32 | protected void onCreate(Bundle savedInstanceState) {
33 | super.onCreate(savedInstanceState);
34 | setContentView(R.layout.change_fonts_demo);
35 |
36 | OakUtils.changeFonts(findViewById(R.id.root), this, "LiberationMono-Regular.ttf");
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/verticalpager/ColorFragment.java:
--------------------------------------------------------------------------------
1 | package oak.demo.verticalpager;
2 |
3 | import android.os.Bundle;
4 | import android.support.v4.app.Fragment;
5 | import android.view.LayoutInflater;
6 | import android.view.View;
7 | import android.view.ViewGroup;
8 |
9 | import java.util.Random;
10 |
11 | import oak.demo.R;
12 |
13 | public class ColorFragment extends Fragment {
14 |
15 | public static int[] colors = new int[]{0xffff0000, 0xff00ff00, 0xff0000ff};
16 |
17 | public static Fragment newInstance(int color) {
18 | Bundle bundle = new Bundle();
19 | bundle.putInt("key", color);
20 | ColorFragment colorFragment = new ColorFragment();
21 | colorFragment.setArguments(bundle);
22 | return colorFragment;
23 | }
24 |
25 | @Override
26 | public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
27 | return inflater.inflate(R.layout.fragment_color, container, false);
28 | }
29 |
30 | @Override
31 | public void onViewCreated(View view, Bundle savedInstanceState) {
32 | super.onViewCreated(view, savedInstanceState);
33 | view.findViewById(R.id.color).setBackgroundColor(colors[new Random().nextInt(colors.length - 1)]);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/viewmodel/StringViewModel.java:
--------------------------------------------------------------------------------
1 | package oak.demo.viewmodel;
2 |
3 | import android.content.Context;
4 | import android.util.AttributeSet;
5 | import android.widget.RelativeLayout;
6 | import android.widget.TextView;
7 |
8 | import oak.demo.R;
9 | import oak.viewmodel.ViewModel;
10 |
11 | /**
12 | * Created by ericrichardson on 3/7/14.
13 | */
14 | public class StringViewModel extends RelativeLayout implements ViewModel {
15 | TextView tv;
16 |
17 | public StringViewModel(Context context) {
18 | super(context);
19 | }
20 |
21 | public StringViewModel(Context context, AttributeSet attrs) {
22 | super(context, attrs);
23 | }
24 |
25 | public StringViewModel(Context context, AttributeSet attrs, int defStyle) {
26 | super(context, attrs, defStyle);
27 | }
28 |
29 | @Override
30 | protected void onFinishInflate() {
31 | super.onFinishInflate();
32 | tv = (TextView) findViewById(R.id.textView);
33 | }
34 |
35 | @Override
36 | public void populate(String item) {
37 | tv.setText(item);
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/viewmodel/ViewModelActivity.java:
--------------------------------------------------------------------------------
1 | package oak.demo.viewmodel;
2 |
3 | import android.os.Bundle;
4 | import android.widget.ListView;
5 |
6 | import java.util.ArrayList;
7 | import java.util.List;
8 |
9 | import oak.demo.OakDemoActivity;
10 | import oak.demo.R;
11 | import oak.viewmodel.ViewModelAdapter;
12 |
13 | /**
14 | * Created by ericrichardson on 3/7/14.
15 | */
16 | public class ViewModelActivity extends OakDemoActivity {
17 | public void onCreate(Bundle savedInstanceState) {
18 | super.onCreate(savedInstanceState);
19 | setContentView(R.layout.activity_viewmodel);
20 | ListView list = (ListView) findViewById(R.id.listView);
21 | List strings = new ArrayList();
22 | strings.add("Look");
23 | strings.add("at");
24 | strings.add("all");
25 | strings.add("the");
26 | strings.add("pretty");
27 | strings.add("strings");
28 | strings.add("They");
29 | strings.add("are");
30 | strings.add("so");
31 | strings.add("stringy");
32 | strings.add("mainly");
33 | strings.add("because");
34 | strings.add("they");
35 | strings.add("are");
36 | strings.add("strings");
37 | list.setAdapter(new ViewModelAdapter(this, R.layout.list_viewmodelitem, strings));
38 | }
39 | }
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/web/WebLaunchActivity.java:
--------------------------------------------------------------------------------
1 | package oak.demo.web;
2 |
3 | import android.os.Bundle;
4 | import android.view.View;
5 |
6 | import oak.demo.OakDemoActivity;
7 | import oak.demo.R;
8 | import oak.web.OakWebViewFragment;
9 | import oak.web.WebViewActivity;
10 |
11 | /**
12 | * Created by ericrichardson on 3/19/14.
13 | */
14 | public class WebLaunchActivity extends OakDemoActivity {
15 | public void onCreate(Bundle savedInstanceState) {
16 | super.onCreate(savedInstanceState);
17 | setContentView(R.layout.activity_web_launch);
18 | findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
19 | @Override
20 | public void onClick(View view) {
21 | launchWebActivity();
22 | }
23 | });
24 | }
25 |
26 | private void launchWebActivity() {
27 | OakWebViewFragment.BundleBuilder builder = new OakWebViewFragment.BundleBuilder("http://willowtreeapps.com")
28 | .fadeControls(true)
29 | .maxControlAlpha(0.9f)
30 | .minControlAlpha(0.4f)
31 | .fadeTimeout(2500);
32 | WebViewActivity.startWebActivity(this, builder.build());
33 | }
34 |
35 | }
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/widget/AspectRatioLayoutActivity.java:
--------------------------------------------------------------------------------
1 | package oak.demo.widget;
2 |
3 | import android.os.Bundle;
4 |
5 | import oak.demo.OakDemoActivity;
6 | import oak.demo.R;
7 |
8 | /**
9 | * User: tylerromeo Date: 10/16/13 Time: 3:54 PM
10 | */
11 | public class AspectRatioLayoutActivity extends OakDemoActivity {
12 |
13 | public void onCreate(Bundle savedInstanceState) {
14 | super.onCreate(savedInstanceState);
15 | setContentView(R.layout.aspect_ratio_layout_demo);
16 | }
17 | }
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/widget/ButtonWithFontActivity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011. WillowTree Apps, 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 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package oak.demo.widget;
17 |
18 | import android.os.Bundle;
19 |
20 | import oak.demo.OakDemoActivity;
21 | import oak.demo.R;
22 |
23 | /**
24 | * User: Michael Lake Date: 11/21/11 Time: 5:33 PM
25 | */
26 |
27 |
28 | public class ButtonWithFontActivity extends OakDemoActivity {
29 |
30 | @Override
31 | protected void onCreate(Bundle savedInstanceState) {
32 | super.onCreate(savedInstanceState);
33 | setContentView(R.layout.button_with_font_demo);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/widget/CheckBoxWithFontActivity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011. WillowTree Apps, 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 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package oak.demo.widget;
17 |
18 | import android.os.Bundle;
19 |
20 | import oak.demo.OakDemoActivity;
21 | import oak.demo.R;
22 |
23 | public class CheckBoxWithFontActivity extends OakDemoActivity {
24 |
25 | @Override
26 | protected void onCreate(Bundle savedInstanceState) {
27 | super.onCreate(savedInstanceState);
28 | setContentView(R.layout.check_box_with_font_demo);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/widget/CustomCircularProgressBarActivity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011. WillowTree Apps, 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 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package oak.demo.widget;
17 |
18 | import android.os.Bundle;
19 |
20 | import oak.demo.OakDemoActivity;
21 | import oak.demo.R;
22 |
23 | /**
24 | * User: Michael Lake Date: 11/21/11 Time: 5:33 PM
25 | */
26 |
27 |
28 | public class CustomCircularProgressBarActivity extends OakDemoActivity {
29 |
30 | @Override
31 | protected void onCreate(Bundle savedInstanceState) {
32 | super.onCreate(savedInstanceState);
33 | setContentView(R.layout.custom_circular_progress_bar_demo);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/widget/MaskedImageViewActivity.java:
--------------------------------------------------------------------------------
1 | package oak.demo.widget;
2 |
3 | import android.os.Bundle;
4 |
5 | import oak.demo.OakDemoActivity;
6 | import oak.demo.R;
7 |
8 | /**
9 | * User: Nate Date: 7/9/12 Time: 11:25 AM
10 | */
11 | public class MaskedImageViewActivity extends OakDemoActivity {
12 |
13 | @Override
14 | protected void onCreate(Bundle savedInstanceState) {
15 | super.onCreate(savedInstanceState);
16 | setContentView(R.layout.masked_image_view_activity);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/widget/ResizableHeaderScrollViewActivity.java:
--------------------------------------------------------------------------------
1 | package oak.demo.widget;
2 |
3 | import android.os.Bundle;
4 | import android.view.View;
5 |
6 | import oak.demo.OakDemoActivity;
7 | import oak.demo.R;
8 | import oak.widget.ResizableHeaderScrollView;
9 |
10 | /**
11 | * Created by sean.kenkeremath on 7/29/14.
12 | */
13 | public class ResizableHeaderScrollViewActivity extends OakDemoActivity {
14 |
15 | @Override
16 | protected void onCreate(Bundle savedInstanceState) {
17 | super.onCreate(savedInstanceState);
18 | setContentView(R.layout.resizable_header_demo);
19 | ResizableHeaderScrollView view = (ResizableHeaderScrollView) findViewById(R.id.scrollview);
20 | view.setHeaderChangeListener(new ResizableHeaderScrollView.HeaderChangeListener() {
21 |
22 | @Override
23 | public void collapse(View header) {
24 | header.findViewById(R.id.header_subtitle).setVisibility(View.GONE);
25 | }
26 |
27 | @Override
28 | public void expand(View header) {
29 | header.findViewById(R.id.header_subtitle).setVisibility(View.VISIBLE);
30 | }
31 | });
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/widget/TextViewWithFontActivity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011. WillowTree Apps, 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 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package oak.demo.widget;
17 |
18 | import android.os.Bundle;
19 |
20 | import oak.demo.OakDemoActivity;
21 | import oak.demo.R;
22 |
23 | /**
24 | * User: Michael Lake Date: 11/21/11 Time: 5:33 PM
25 | */
26 |
27 |
28 | public class TextViewWithFontActivity extends OakDemoActivity {
29 |
30 | @Override
31 | protected void onCreate(Bundle savedInstanceState) {
32 | super.onCreate(savedInstanceState);
33 | setContentView(R.layout.textview_with_font_demo);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/oak-demos/src/oak/demo/widget/VerticalViewPagerActivity.java:
--------------------------------------------------------------------------------
1 | package oak.demo.widget;
2 |
3 | import android.os.Build;
4 | import android.os.Bundle;
5 | import android.support.v4.app.Fragment;
6 | import android.support.v4.app.FragmentManager;
7 | import android.support.v4.app.FragmentPagerAdapter;
8 |
9 | import java.util.Random;
10 |
11 | import oak.demo.OakDemoActivity;
12 | import oak.demo.R;
13 | import oak.demo.verticalpager.ColorFragment;
14 | import oak.demo.verticalpager.HorizonTransform;
15 | import oak.widget.VerticalViewPager;
16 |
17 | /**
18 | * Created by ericrichardson on 3/5/14.
19 | */
20 | public class VerticalViewPagerActivity extends OakDemoActivity {
21 | VerticalViewPager pager;
22 |
23 | @Override
24 | protected void onCreate(Bundle savedInstanceState) {
25 | super.onCreate(savedInstanceState);
26 | setContentView(R.layout.vertical_viewpager_demo);
27 | pager = (VerticalViewPager) findViewById(R.id.pager);
28 | pager.setAdapter(new ExampleAdapter(getSupportFragmentManager()));
29 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
30 | pager.setPageTransformer(true, new HorizonTransform());
31 | }
32 | }
33 |
34 | private class ExampleAdapter extends FragmentPagerAdapter {
35 |
36 | public ExampleAdapter(FragmentManager fm) {
37 | super(fm);
38 | }
39 |
40 | @Override
41 | public Fragment getItem(int position) {
42 | return ColorFragment.newInstance(ColorFragment.colors[new Random().nextInt(ColorFragment.colors.length - 1)]);
43 | }
44 |
45 |
46 | @Override
47 | public int getCount() {
48 | return 10;
49 | }
50 | }
51 | }
--------------------------------------------------------------------------------
/oak-distribution/README.txt:
--------------------------------------------------------------------------------
1 |
2 | oak-demos*.apk
3 | -A sample application using OAK
4 |
5 | /libs
6 | -Copy its contents to your android libs directory
7 |
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/.gitignore:
--------------------------------------------------------------------------------
1 | .gradle
2 | /local.properties
3 | /.idea/workspace.xml
4 | .DS_Store
5 |
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/assets/fonts/Roboto-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/assets/fonts/Roboto-Bold.ttf
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/assets/fonts/Roboto-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/assets/fonts/Roboto-Light.ttf
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/assets/fonts/Roboto-Thin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/assets/fonts/Roboto-Thin.ttf
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/assets/fonts/Roboto.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/assets/fonts/Roboto.ttf
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/java/Datastore.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 | import android.app.Application;
4 | import android.preference.PreferenceManager;
5 |
6 | import javax.inject.Singleton;
7 |
8 | import android.content.SharedPreferences;
9 |
10 | @Singleton
11 | public class Datastore {
12 |
13 | private static final String DEVICE_VERSION = "DeviceVersion";
14 |
15 | EncryptedSharedPreferences encryptedSharedPreferences;
16 |
17 | public Datastore(Application app) {
18 | encryptedSharedPreferences = new EncryptedSharedPreferences(app,
19 | PreferenceManager.getDefaultSharedPreferences(app));
20 | }
21 |
22 | private SharedPreferences.Editor getEditor() {
23 | return encryptedSharedPreferences.edit();
24 | }
25 |
26 | private SharedPreferences getPrefs() {
27 | return encryptedSharedPreferences;
28 | }
29 | public int getVersion() {
30 | return getPrefs().getInt(DEVICE_VERSION, 0);
31 | }
32 | public void persistVersion(int version) {
33 | getEditor().putInt(DEVICE_VERSION, version).commit();
34 | }
35 | }
36 |
37 |
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/java/EncryptedSharedPreferences.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 | import android.content.Context;
4 | import android.content.SharedPreferences;
5 | import java.util.Set;
6 |
7 | import oak.CryptoSharedPreferences;
8 |
9 | /**
10 | * Generated from archetypezz
11 | */
12 |
13 | public final class EncryptedSharedPreferences extends CryptoSharedPreferences {
14 |
15 | public EncryptedSharedPreferences(Context context, SharedPreferences delegate) {
16 | super(context, delegate);
17 | }
18 |
19 | @Override
20 | protected char[] getSpecialCode() {
21 | return "y0urPa$$w0rdH3r3".toCharArray();
22 | }
23 |
24 | @Override
25 | public Set getStringSet(String s, Set strings) {
26 | return null;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/java/StartupActivity.java:
--------------------------------------------------------------------------------
1 | package ${package};
2 |
3 |
4 | import android.graphics.PixelFormat;
5 | import android.os.Bundle;
6 | import android.support.v4.app.Fragment;
7 | import android.support.v4.app.FragmentTransaction;
8 | import android.util.Log;
9 | import android.view.Window;
10 | import android.support.v7.app.ActionBarActivity;
11 |
12 | public class StartupActivity extends ActionBarActivity {
13 |
14 | @Override
15 | public void onCreate(Bundle savedInstanceState) {
16 | super.onCreate(savedInstanceState);
17 | Log.i(MainApp.TAG, "onCreate");
18 | setContentView(R.layout.startup);
19 |
20 | }
21 |
22 | @Override
23 | public void onAttachedToWindow() {
24 | super.onAttachedToWindow();
25 | Window window = this.getWindow();
26 |
27 | // Eliminates color banding
28 | window.setFormat(PixelFormat.RGBA_8888);
29 | }
30 |
31 | }
32 |
33 |
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/java/dagger/ForActivity.java:
--------------------------------------------------------------------------------
1 | package ${package}.dagger;
2 |
3 | import java.lang.annotation.Retention;
4 |
5 | import javax.inject.Qualifier;
6 |
7 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
8 |
9 | /**
10 | * Created by ericrichardson on 7/26/13.
11 | */
12 | @Qualifier
13 | @Retention(RUNTIME)
14 | public @interface ForActivity {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/java/dagger/ForApplication.java:
--------------------------------------------------------------------------------
1 | package ${package}.dagger;
2 |
3 | import java.lang.annotation.Retention;
4 |
5 | import javax.inject.Qualifier;
6 |
7 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
8 |
9 | /**
10 | * Created by ericrichardson on 7/26/13.
11 | */
12 | @Qualifier
13 | @Retention(RUNTIME)
14 | public @interface ForApplication {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/java/dagger/IObjectGraph.java:
--------------------------------------------------------------------------------
1 | package ${package}.dagger;
2 |
3 | import dagger.ObjectGraph;
4 |
5 | /**
6 | * Created by Archetype
7 | */
8 | public interface IObjectGraph {
9 | ObjectGraph getObjectGraph();
10 | }
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/java/dagger/Injector.java:
--------------------------------------------------------------------------------
1 | package ${package}.dagger;
2 |
3 | import android.content.Context;
4 |
5 | /**
6 | * User: evantatarka Date: 7/30/13 Time: 4:30 PM
7 | */
8 | public class Injector {
9 | public static void inject(Object toInject, Context context) {
10 | ((IObjectGraph) context.getApplicationContext()).getObjectGraph().inject(toInject);
11 | }
12 |
13 | public static void inject(Context context) {
14 | ((IObjectGraph) context.getApplicationContext()).getObjectGraph().inject(context);
15 | }
16 |
17 | private Context mContext;
18 |
19 | public Injector(Context context) {
20 | mContext = context;
21 | }
22 |
23 | public void inject(Object toInject) {
24 | ((IObjectGraph) mContext.getApplicationContext()).getObjectGraph().inject(toInject);
25 | }
26 | }
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/res/drawable-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/res/drawable-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/res/layout/startup.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #00edf2
4 | #f20000
5 | #55f200
6 |
7 |
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hello ${artifactId}!
4 | ${artifactId}
5 |
6 |
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
11 |
15 |
18 |
21 |
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Settings specified in this file will override any Gradle settings
5 | # configured through the IDE.
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
19 |
20 | version=1.0-SNAPSHOT
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-gradle-archetype/src/main/resources/archetype-resources/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sat Jan 25 22:07:13 EST 2014
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 |
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/project.properties:
--------------------------------------------------------------------------------
1 | target=android-${platform}
--------------------------------------------------------------------------------
/oak-gradle-archetype/src/main/resources/archetype-resources/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/oak-instrumentation/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
12 |
13 |
--------------------------------------------------------------------------------
/oak-instrumentation/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system use,
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 |
10 | # Indicates whether an apk should be generated for each density.
11 | split.density=false
12 | # Project target.
13 | target=android-16
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/oak-instrumentation/res/drawable/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-instrumentation/res/drawable/icon.png
--------------------------------------------------------------------------------
/oak-instrumentation/src/main/java/oak/test/AllTests.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011. WillowTree Apps
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 oak.test;
18 |
19 | import android.test.suitebuilder.TestSuiteBuilder;
20 | import junit.framework.Test;
21 | import junit.framework.TestSuite;
22 |
23 | /**
24 | * User: Michael Lake
25 | * Date: 9/20/11
26 | * Time: 10:45 AM
27 | */
28 | public class AllTests extends TestSuite {
29 |
30 | public static Test suite() {
31 | return new TestSuiteBuilder(AllTests.class)
32 | .includeAllPackagesUnderHere()
33 | .build();
34 | }
35 | }
--------------------------------------------------------------------------------
/oak-library/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/oak-library/project.properties:
--------------------------------------------------------------------------------
1 | android.library=true
2 | # Project target.
3 | target=android-16
--------------------------------------------------------------------------------
/oak-library/res/drawable-xhdpi/back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-library/res/drawable-xhdpi/back.png
--------------------------------------------------------------------------------
/oak-library/res/drawable-xhdpi/forward.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-library/res/drawable-xhdpi/forward.png
--------------------------------------------------------------------------------
/oak-library/res/drawable-xhdpi/refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-library/res/drawable-xhdpi/refresh.png
--------------------------------------------------------------------------------
/oak-library/res/drawable-xxhdpi/wta_logo_subtitle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-library/res/drawable-xxhdpi/wta_logo_subtitle.png
--------------------------------------------------------------------------------
/oak-library/res/drawable/button_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/oak-library/res/drawable/button_bg_pressed.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
9 |
--------------------------------------------------------------------------------
/oak-library/res/drawable/resizable_header_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | -
13 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/oak-library/res/drawable/web_button_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/oak-library/res/layout/activity_fragment_host.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/oak-library/res/layout/animated_wta_logo_fragment.xml:
--------------------------------------------------------------------------------
1 |
16 |
22 |
23 |
28 |
29 |
36 |
37 |
--------------------------------------------------------------------------------
/oak-library/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/oak-library/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 | Open in Browser
20 | Refresh
21 | OAK Content Description
22 | This is from a resource in oak-library.
23 |
24 |
--------------------------------------------------------------------------------
/oak-library/src/main/java/oak/OAK.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011. WillowTree Apps
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 oak;
18 |
19 | /**
20 | * User: Michael Lake Date: 10/17/11 Time: 12:19 PM
21 | */
22 | public interface OAK {
23 | static final String LOGTAG = "OAK";
24 |
25 | public static final String EXTRA_URL = "oak_url";
26 |
27 | public static final String EXTRA_LAYOUT = "oak_layout";
28 | public static final String EXTRA_SHOW_CONTROLS = "oak_show_controls";
29 | public static final String EXTRA_CONTROL_FADE = "oak_control_fade";
30 | public static final String EXTRA_FADE_MIN = "oak_fade_min";
31 | public static final String EXTRA_FADE_MAX = "oak_fade_max";
32 | public static final String EXTRA_FADE_TIMEOUT = "oak_fade_timeout";
33 |
34 | public static final String EXTRA_OPEN_IN_BROWSER = "oak_open_in_browser";
35 | public static final String EXTRA_REFRESH_IN_MENU = "oak_refresh_in_menu";
36 | }
37 |
--------------------------------------------------------------------------------
/oak-library/src/main/java/oak/Queryable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011. WillowTree Apps
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 oak;
18 |
19 | /**
20 | * User: Michael Lake Date: 10/18/11 Time: 4:53 PM
21 | */
22 | public interface Queryable {
23 |
24 | boolean isQueryMatch(CharSequence query);
25 | }
26 |
--------------------------------------------------------------------------------
/oak-library/src/main/java/oak/Sectionable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011. WillowTree Apps
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 oak;
18 |
19 | /**
20 | * User: Michael Lake
21 | * Date: 5/18/11
22 | * Time: 10:14 AM
23 | */
24 | public interface Sectionable {
25 |
26 | String getSection();
27 | }
28 |
--------------------------------------------------------------------------------
/oak-library/src/main/java/oak/widget/CustomProgressDialog.java:
--------------------------------------------------------------------------------
1 | package oak.widget;
2 |
3 | import android.app.Dialog;
4 | import android.content.Context;
5 | import android.graphics.Color;
6 | import android.graphics.drawable.ColorDrawable;
7 | import android.view.ViewGroup;
8 | import android.view.Window;
9 | import android.widget.ImageView;
10 | import android.widget.RelativeLayout;
11 |
12 | /**
13 | * Allows you to create a dialog with a loading animation
14 | * using your own resources.
15 | */
16 | public class CustomProgressDialog extends Dialog {
17 |
18 | private ImageView mProgressImageView;
19 | private final int mAnimationDuration = 0;
20 |
21 | public CustomProgressDialog(Context context, int[] progressDrawables) {
22 | super(context);
23 | requestWindowFeature(Window.FEATURE_NO_TITLE);
24 | mProgressImageView = new ImageView(context);
25 | RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
26 | ViewGroup.LayoutParams.WRAP_CONTENT,
27 | ViewGroup.LayoutParams.WRAP_CONTENT);
28 | mProgressImageView.setLayoutParams(lp);
29 | mProgressImageView.setImageResource(progressDrawables[0]);
30 | setContentView(mProgressImageView);
31 | getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
32 | new SceneAnimation(mProgressImageView, progressDrawables, mAnimationDuration);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/oak-library/src/main/java/oak/widget/spreadsheetview/SpreadsheetRow.java:
--------------------------------------------------------------------------------
1 | package oak.widget.spreadsheetview;
2 |
3 | /**
4 | * Used within SpreadsheetView
5 | */
6 | public class SpreadsheetRow {
7 |
8 | private String[] values;
9 | private boolean[] selected;
10 |
11 | public SpreadsheetRow(int length){
12 | values = new String[length];
13 | selected = new boolean[length];
14 | for (int i = 0; i < selected.length; i++){
15 | selected[i] = false;
16 | }
17 | }
18 |
19 | public SpreadsheetRow(String[] values){
20 | this.values = values;
21 | this.selected = new boolean[values.length];
22 | for (int i = 0; i < selected.length; i++){
23 | selected[i] = false;
24 | }
25 | }
26 |
27 |
28 | public String getValueAt(int valueIndex){
29 | return this.values[valueIndex];
30 | }
31 |
32 | public void setValue(int valueIndex, String value){
33 | this.values[valueIndex] = value;
34 | }
35 |
36 | public boolean isSelected(int valueIndex){
37 | return this.selected[valueIndex];
38 | }
39 |
40 | public void select(int valueIndex, boolean select){
41 | this.selected[valueIndex] = select;
42 | }
43 |
44 | public void selectRow(boolean select){
45 | for (int i = 0; i < selected.length; i++){
46 | selected[i] = select;
47 | }
48 | }
49 |
50 | public int getLength(){
51 | return values.length;
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/oak-parentswipingviews/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/oak-parentswipingviews/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | com.willowtreeapps
6 | oak-project
7 | 1.4.1-SNAPSHOT
8 |
9 | com.willowtreeapps
10 | oak-parentswipingviews
11 | OAK - ParentSwipingViews
12 | jar
13 | A library for shared android functionality
14 |
15 |
16 |
17 |
18 | com.android.support
19 | support-v4
20 | 19.0.0
21 |
22 |
23 |
24 | com.google.android
25 | android
26 | provided
27 |
28 |
29 |
30 |
31 |
32 |
33 | com.jayway.maven.plugins.android.generation2
34 | android-maven-plugin
35 |
36 |
37 | 10
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/oak-sectionlistview/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | com.willowtreeapps
6 | oak-project
7 | 1.4.1-SNAPSHOT
8 |
9 | com.willowtreeapps
10 | oak-sectionlistview
11 | OAK - SectionListView
12 | jar
13 | A library for shared android functionality
14 |
15 |
16 |
17 | com.google.android
18 | android
19 | provided
20 |
21 |
22 |
23 |
24 | src/main/java/
25 |
26 |
27 | com.jayway.maven.plugins.android.generation2
28 | android-maven-plugin
29 | true
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/oak-sectionlistview/src/main/java/oak/sectionlistview/Queryable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011. WillowTree Apps
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 oak.sectionlistview;
18 |
19 | /**
20 | * User: Michael Lake Date: 10/18/11 Time: 4:53 PM
21 | */
22 | public interface Queryable {
23 |
24 | boolean isQueryMatch(CharSequence query);
25 | }
26 |
--------------------------------------------------------------------------------
/oak-sectionlistview/src/main/java/oak/sectionlistview/Sectionable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2011. WillowTree Apps
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 oak.sectionlistview;
18 |
19 | /**
20 | * User: Michael Lake
21 | * Date: 5/18/11
22 | * Time: 10:14 AM
23 | */
24 | public interface Sectionable {
25 |
26 | String getSection();
27 | }
28 |
--------------------------------------------------------------------------------
/oak-spreadsheetview/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/oak-spreadsheetview/src/main/java/oak/spreadsheetview/SpreadsheetRow.java:
--------------------------------------------------------------------------------
1 | package oak.spreadsheetview;
2 |
3 | /**
4 | * Used within SpreadsheetView
5 | */
6 | public class SpreadsheetRow {
7 |
8 | private String[] values;
9 | private boolean[] selected;
10 |
11 | public SpreadsheetRow(int length) {
12 | values = new String[length];
13 | selected = new boolean[length];
14 | for (int i = 0; i < selected.length; i++) {
15 | selected[i] = false;
16 | }
17 | }
18 |
19 | public SpreadsheetRow(String[] values) {
20 | this.values = values;
21 | this.selected = new boolean[values.length];
22 | for (int i = 0; i < selected.length; i++) {
23 | selected[i] = false;
24 | }
25 | }
26 |
27 |
28 | public String getValueAt(int valueIndex) {
29 | return this.values[valueIndex];
30 | }
31 |
32 | public void setValue(int valueIndex, String value) {
33 | this.values[valueIndex] = value;
34 | }
35 |
36 | public boolean isSelected(int valueIndex) {
37 | return this.selected[valueIndex];
38 | }
39 |
40 | public void select(int valueIndex, boolean select) {
41 | this.selected[valueIndex] = select;
42 | }
43 |
44 | public void selectRow(boolean select) {
45 | for (int i = 0; i < selected.length; i++) {
46 | selected[i] = select;
47 | }
48 | }
49 |
50 | public int getLength() {
51 | return values.length;
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/oak-utils/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | com.willowtreeapps
6 | oak-project
7 | 1.4.1-SNAPSHOT
8 |
9 | com.willowtreeapps
10 | oak-utils
11 | OAK - Util
12 | jar
13 | A library for shared android functionality
14 |
15 |
16 |
17 |
18 | com.android.support
19 | support-v4
20 | 19.0.0
21 |
22 |
23 |
24 | com.google.android
25 | android
26 | provided
27 |
28 |
29 |
30 |
31 |
32 |
33 | com.jayway.maven.plugins.android.generation2
34 | android-maven-plugin
35 | true
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/oak-utils/src/main/java/oak/util/CompatUtils.java:
--------------------------------------------------------------------------------
1 | package oak.util;
2 |
3 | import android.graphics.drawable.Drawable;
4 | import android.os.Build;
5 | import android.view.View;
6 | import android.view.ViewTreeObserver;
7 |
8 | /**
9 | * Created by erichardson on 8/5/14.
10 | */
11 | @SuppressWarnings("deprecation")
12 | public class CompatUtils {
13 | public static void setBackground(View v, Drawable background) {
14 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
15 | v.setBackground(background);
16 | } else {
17 | v.setBackgroundDrawable(background);
18 | }
19 | }
20 |
21 | public static void removeOnGlobalLayoutListener(View v, ViewTreeObserver.OnGlobalLayoutListener listener) {
22 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
23 | v.getViewTreeObserver().removeOnGlobalLayoutListener(listener);
24 | } else {
25 | v.getViewTreeObserver().removeGlobalOnLayoutListener(listener);
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/oak-utils/src/main/java/oak/util/FontTypefaceSpan.java:
--------------------------------------------------------------------------------
1 | package oak.util;
2 |
3 | import android.content.Context;
4 | import android.graphics.Paint;
5 | import android.graphics.Typeface;
6 | import android.text.TextPaint;
7 | import android.text.style.MetricAffectingSpan;
8 |
9 | /**
10 | * User: ericrichardson Date: 5/6/13 Time: 2:10 PM
11 | * Allows you to set custom fonts with a spannable.
12 | * A useful example would be changing ActionBar title fonts!
13 | */
14 | public class FontTypefaceSpan extends MetricAffectingSpan {
15 |
16 | private Typeface mTypeface;
17 |
18 | public FontTypefaceSpan(Context context, String typefaceName) {
19 | mTypeface = OakUtils.getStaticTypeFace(context, typefaceName);
20 | }
21 |
22 | @Override
23 | public void updateMeasureState(TextPaint p) {
24 | p.setTypeface(mTypeface);
25 | p.setFlags(p.getFlags() | Paint.SUBPIXEL_TEXT_FLAG);
26 | }
27 |
28 | @Override
29 | public void updateDrawState(TextPaint tp) {
30 | tp.setTypeface(mTypeface);
31 | tp.setFlags(tp.getFlags() | Paint.SUBPIXEL_TEXT_FLAG);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/oak-viewmodel/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | com.willowtreeapps
6 | oak-project
7 | 1.4.1-SNAPSHOT
8 |
9 | com.willowtreeapps
10 | oak-viewmodel
11 | OAK - ViewModel
12 | jar
13 | A library for shared android functionality
14 |
15 |
16 |
17 |
18 | com.android.support
19 | support-v4
20 | 19.0.0
21 |
22 |
23 |
24 | com.google.android
25 | android
26 | provided
27 |
28 |
29 |
30 |
31 |
32 |
33 | com.jayway.maven.plugins.android.generation2
34 | android-maven-plugin
35 | true
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/oak-viewmodel/src/main/java/oak/viewmodel/ViewModel.java:
--------------------------------------------------------------------------------
1 | package oak.viewmodel;
2 |
3 | /**
4 | * User: evantatarka Date: 9/25/13 Time: 4:30 PM
5 | *
6 | * An interface to mark a view that implements the ViewModel adapter pattern. All implementations of
7 | * this must subclass an android ViewGroup class as they are expected to be inflated from xml.
8 | *
9 | * You should override {@code onFinishInflate()} to get references to your children views. Then set
10 | * up the display of the view in {@code populate()}.
11 | */
12 | public interface ViewModel {
13 | /**
14 | * Sets the data of the view to the given item. This is expected to be called multiple times as
15 | * the view is recycled.
16 | *
17 | * @param item the item to populate the view with
18 | */
19 | void populate(T item);
20 | }
21 |
--------------------------------------------------------------------------------
/oak-viewmodel/src/main/java/oak/viewmodel/ViewModelCursorAdapter.java:
--------------------------------------------------------------------------------
1 | package oak.viewmodel;
2 |
3 | import android.content.Context;
4 | import android.database.Cursor;
5 | import android.support.v4.widget.CursorAdapter;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 |
10 | /**
11 | * Created by ericrichardson on 3/6/14.
12 | */
13 | public class ViewModelCursorAdapter extends CursorAdapter {
14 | int mLayoutId;
15 |
16 | public ViewModelCursorAdapter(Context context, Cursor c, boolean autoRequery, int layoutId) {
17 | super(context, c, autoRequery);
18 | mLayoutId = layoutId;
19 | }
20 |
21 | @Override
22 | public View newView(Context context, Cursor cursor, ViewGroup parent) {
23 | ViewModel view = ViewModelUtil.getViewModel(LayoutInflater.from(mContext), mLayoutId, parent);
24 | return (View) view;
25 | }
26 |
27 | @Override
28 | public void bindView(View view, Context context, Cursor cursor) {
29 | ((ViewModel) view).populate(cursor);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/oak-viewswithfont/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/oak-viewswithfont/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/oak-webview/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/oak-webview/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | com.willowtreeapps
6 | oak-project
7 | 1.4.1-SNAPSHOT
8 |
9 | com.willowtreeapps
10 | oak-webview
11 | OAK - Webview
12 | aar
13 | A library for shared android functionality
14 |
15 |
16 |
17 | com.android.support
18 | support-v4
19 | 19.0.0
20 |
21 |
22 |
23 |
24 | com.google.android
25 | android
26 | provided
27 |
28 |
29 |
30 |
31 |
32 |
33 | com.jayway.maven.plugins.android.generation2
34 | android-maven-plugin
35 | true
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/oak-webview/res/drawable-xhdpi/back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-webview/res/drawable-xhdpi/back.png
--------------------------------------------------------------------------------
/oak-webview/res/drawable-xhdpi/forward.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-webview/res/drawable-xhdpi/forward.png
--------------------------------------------------------------------------------
/oak-webview/res/drawable-xhdpi/refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/oak-webview/res/drawable-xhdpi/refresh.png
--------------------------------------------------------------------------------
/oak-webview/res/drawable/button_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/oak-webview/res/drawable/button_bg_pressed.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
9 |
--------------------------------------------------------------------------------
/oak-webview/res/drawable/web_button_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/oak-webview/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/oak-webview/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | Open in Browser
19 | Refresh
20 | OAK Content Description
21 | This is from a resource in oak-library.
22 |
23 |
--------------------------------------------------------------------------------
/oak-webview/src/main/java/oak/webview/Extras.java:
--------------------------------------------------------------------------------
1 | package oak.webview;
2 |
3 | /**
4 | * Created by WillowTree, Inc on 5/18/15.
5 | */
6 | public class Extras {
7 | public static final String EXTRA_URL = "oak_url";
8 |
9 | public static final String EXTRA_LAYOUT = "oak_layout";
10 | public static final String EXTRA_SHOW_CONTROLS = "oak_show_controls";
11 | public static final String EXTRA_CONTROL_FADE = "oak_control_fade";
12 | public static final String EXTRA_FADE_MIN = "oak_fade_min";
13 | public static final String EXTRA_FADE_MAX = "oak_fade_max";
14 | public static final String EXTRA_FADE_TIMEOUT = "oak_fade_timeout";
15 |
16 | public static final String EXTRA_OPEN_IN_BROWSER = "oak_open_in_browser";
17 | public static final String EXTRA_REFRESH_IN_MENU = "oak_refresh_in_menu";
18 | }
19 |
--------------------------------------------------------------------------------
/src/development/ide/eclipse/android.importorder:
--------------------------------------------------------------------------------
1 | #Organize Import Order
2 | #Wed Apr 04 11:32:05 CDT 2007
3 | 4=javax
4 | 3=java
5 | 2=android
6 | 1=org
7 | 0=com
8 |
--------------------------------------------------------------------------------
/src/site/apt/OakWebView.apt:
--------------------------------------------------------------------------------
1 | OakWebView
2 |
3 | Allows you to easily pass in an URL, and display it in the OakWebViewFragment which has built in controls.
--------------------------------------------------------------------------------
/src/site/apt/animatedsvgview.apt:
--------------------------------------------------------------------------------
1 | AnimatedSvgView
2 |
3 | The given example uses our WillowTree Logo, but using the proper tools you can add in your own
4 | paths to create the logo of your choice. An example is included in the OAK demo app, or check
5 | the About section of Muzei by Roman Nurik.
--------------------------------------------------------------------------------
/src/site/apt/beastviewpager.apt:
--------------------------------------------------------------------------------
1 | BeastViewPager
2 |
3 | For when you need a ViewPager in a ViewPager and still maintain scrolling behavior between all children. Also works wonderfully to add a BeastViewPager as a ListView Header without wonkiness.
--------------------------------------------------------------------------------
/src/site/apt/cancel_edit_text.apt:
--------------------------------------------------------------------------------
1 | CancelEditText
2 |
3 |
4 | [cancel_edit_text.png] CancelEditText
5 |
6 | %{snippet|id=canceledittext_layout|file=oak-demos/res/layout/cancel_edit_text_demo.xml}
--------------------------------------------------------------------------------
/src/site/apt/crypto_prefs.apt:
--------------------------------------------------------------------------------
1 | CryptoSharedPreferences
2 |
3 | A wrapper around SharedPreferences that encrypts / decrypts all shared preferences.
4 |
5 | Warning - do not assume use of this class will prevent access to shared preferences.
6 | If an attacker has enough access to acquire your password store, they have enough access
7 | to acquire your source binary and figure out your encryption key.
8 |
9 | However, this class will prevent casual investigators from acquiring
10 | passwords, and thereby may prevent undesired negative publicity.
11 |
12 | Full disclosure: This code was adapted from {{{http://stackoverflow.com/questions/785973/what-is-the-most-appropriate-way-to-store-user-settings-in-android-application/6393502#6393502}Michael Burton's response on StackOverflow}}
13 |
14 | To use you must extend the CryptoSharedPreferences abstract class and implement the
15 | getSpecialCode() method. Ideally this method would use either user input or an external
16 | source to get the password used to encrypt the shared preferences. The demo has the
17 | value hard-coded and is significantly less secure as a result.
18 |
19 | The demo EncryptedPreferences object is shown below.
20 |
21 | %{snippet|id=encrypted_prefs|file=oak-demos/src/oak/demo/EncryptedPreferences.java}
22 |
23 | The activity using the EncryptedPreferences object.
24 |
25 | %{snippet|id=obscured_prefs|file=oak-demos/src/oak/demo/other/ObscuredPrefsActivity.java}
26 |
27 | Screenshot of demo activity.
28 |
29 | [crypto_shared_prefs.png] Crypto Shared Preferences
--------------------------------------------------------------------------------
/src/site/apt/index.apt:
--------------------------------------------------------------------------------
1 | What is OAK Android Kit?
2 |
3 | OAK is a powerful kit of tools and components to use in your Android project (Compatible with API Level 10+)
4 |
5 | OAK is available in multiple modules depending on what type of functionality you require:
6 |
7 | * Oak-Aspect Ratio: A Layout that maintains a given Aspect Ratio
8 |
9 | * Oak-Parent Swiping Views: ViewPager built to work with Nested ViewPagers or inside a ListView Header
10 |
11 | * Oak-Section ListView: A Sectioned Header listview with pinned headers
12 |
13 | * Oak-SpreadsheetView: A View that functions like a spreadsheet
14 |
15 | * Oak-Utils: Base module with commonly used utils and classes
16 |
17 | * Oak-ViewsWithFont: Views with built in xml font support
18 |
19 | * Oak-AnimatedSvgView: View class to handle animated SVGs
20 |
21 | * Oak-WebView: Easy to use webview with navigation controls
22 |
23 |
24 |
25 | How is OAK licensed?
26 |
27 | OAK is licenced under {{{./license.html}Apache 2.0}}: that means it's free.
28 |
29 | How do I get started using OAK?
30 |
31 | Have a look at the {{{./quick-start.html}quick-start guide}}. Simply drop the jar into your android libs dir, or use
32 | your existing Ant or Maven2 build setup to auto-fetch sources and documentation, as well as <>.
33 |
34 | How can I contribute?
35 |
36 | OAK development is meant to be easy for Eclipse, IntelliJ, or Android Studio users. See the {{{./dev-doc.html} developer docs}}
37 | to see how you can make OAK even better.
--------------------------------------------------------------------------------
/src/site/apt/obscured_prefs.apt:
--------------------------------------------------------------------------------
1 |
2 | ObscuredSharedPreferences
3 |
4 | Full disclosure: This code was adapted from {{{http://stackoverflow.com/questions/785973/what-is-the-most-appropriate-way-to-store-user-settings-in-android-application/6393502#6393502}Michael Burton's response on StackOverflow}}
5 |
6 |
7 |
8 | [obscured_shared_prefs.png] Obscured Shared Preferences
9 |
10 |
11 | %{snippet|id=obscured_prefs|file=oak-demos/src/oak/demo/other/ObscuredPrefsActivity.java}
12 |
--------------------------------------------------------------------------------
/src/site/apt/pinnedheader.apt:
--------------------------------------------------------------------------------
1 | Section Listview
2 |
3 | Similar functionality to that of the listview found in the contacts app.
--------------------------------------------------------------------------------
/src/site/apt/recommendedlibs.apt:
--------------------------------------------------------------------------------
1 | Recommended Libraries:
2 |
3 | Below are some commonly used libraries we use at WillowTree Apps.
4 |
5 | * {{{http://square.github.io/dagger/} Dagger}} - Dependency Injection.
6 |
7 | * {{{http://square.github.io/okhttp/} OkHttp}} - Http Client.
8 |
9 | * {{{http://jakewharton.github.io/butterknife/} Butterknife}} - View Injection.
10 |
11 | * {{{http://square.github.io/picasso/} Picasso}} - Image Loading.
12 |
13 | * {{{http://square.github.io/otto/} Otto}} - Event Bus.
14 |
15 | * {{{https://github.com/Netflix/RxJava/tree/master/rxjava-contrib/rxjava-android} RxJava}}
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/site/apt/section-adapter.apt:
--------------------------------------------------------------------------------
1 | SectionAdapter
2 |
3 | Here's what you get with Section adapter:
4 |
5 | * Pinned headers
6 |
7 | * An easy method of putting your data into sectioned data without the hassle of writing
8 | routines to find the position in section, etc.
9 |
10 | * Easily swap out assets depending on whether you're in first of section, end of section, etc.
11 | (note the rounded corner backgrounds for the listview items)
12 |
13 | * ListView searching (optional)
14 |
15 | * Support for "fastscroll" if specified in listview
16 |
17 |
18 |
19 |
20 | [sectionadapter.png] Section adapter
21 |
22 | * The model that you are populating the listview with must implement <>
23 |
24 | %{snippet|id=sectionable|file=oak-demos/src/oak/demo/model/Person.java}
25 |
26 | * Simply pass a List of your <> object model to the adapter..
27 |
28 | %{snippet|id=sectiontool|file=oak-demos/src/oak/demo/listview/SectionActivity.java}
29 |
30 |
--------------------------------------------------------------------------------
/src/site/apt/swankyimageview.apt:
--------------------------------------------------------------------------------
1 | SwankyImageView
2 |
3 | An ImageView that supports pinch-to-zoom, double-tap-to-zoom, and swipe panning.
--------------------------------------------------------------------------------
/src/site/apt/textviewwithfont.apt:
--------------------------------------------------------------------------------
1 | TextViewWithFont
2 |
3 | TextViewWithFont allows easier Typeface setting. Simply drop your chosen fonts into assets/fonts and set the oak:font attribute.
4 |
5 | There are also subclasses of TextViewWithFont:
6 |
7 | * CheckBoxWithFont
8 |
9 | * ButtonWithFont
10 |
11 | * CancelEditText
12 |
13 | %{snippet|id=textviewwithfont_layout|file=oak-demos/res/layout/textview_with_font_demo.xml}
14 |
--------------------------------------------------------------------------------
/src/site/apt/user-doc.apt:
--------------------------------------------------------------------------------
1 | How to use
2 |
3 | * First and foremost, download the demo app to see the kinds of components available.
4 |
5 | * Check the featured components in the nav box for a quick look at how they can be used.
6 |
7 | * Check out the source code for OAK (which includes the demo app) to see how it all works.
8 |
9 | * Integrate OAK into your own project!
--------------------------------------------------------------------------------
/src/site/apt/utility.apt:
--------------------------------------------------------------------------------
1 | Oak Utilities
2 |
3 | Oak includes some often-used utility methods and classes to make common tasks more simple.
4 |
5 | * FontTypefaceSpan - Easily set fonts on any view with Text, including ActionBar Titles
6 |
7 | * OakAsyncLoader - AsyncTaskLoader that works.
8 |
9 | * OakUtils.changeFonts(View root, Context context, String typeface) - Iterates through all children recursively to change all fonts to the specified typeface
10 |
11 | * OakUtils.isPackageInstalled(Context context, String packageName) - Checks if the specified package is installed on the device
12 |
13 | * OakUtils.isValidEmail(String email) - Checks whether the given string is a valid email address
14 |
15 | * OakUtils.isValidPhone(String phone) - Checks whether the given string is a valid phone number
--------------------------------------------------------------------------------
/src/site/resources/banner_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/banner_background.png
--------------------------------------------------------------------------------
/src/site/resources/banner_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/banner_left.png
--------------------------------------------------------------------------------
/src/site/resources/banner_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/banner_right.png
--------------------------------------------------------------------------------
/src/site/resources/cancel_edit_text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/cancel_edit_text.png
--------------------------------------------------------------------------------
/src/site/resources/crypto_shared_prefs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/crypto_shared_prefs.png
--------------------------------------------------------------------------------
/src/site/resources/css/site.css:
--------------------------------------------------------------------------------
1 | * {
2 | -webkit-font-smoothing: antialiased;
3 | }
4 |
5 | body {
6 | color: #000;
7 | font-family: Lato, Calibri, Verdana, Arial, sans-serif;
8 | font-size: 14px;
9 | font-style: normal;
10 | font-weight: normal;
11 | line-height: 1;
12 | margin: 0px;
13 | }
14 |
15 | h1, h2, h3, h4, h5, h6 {
16 | background: none;
17 | border: none;
18 | color: #666;
19 | font-family: Lato, Calibri, Verdana, Arial, sans-serif;
20 | font-style: normal;
21 | font-weight: 300;
22 | text-rendering: optimizeLegibility;
23 | }
24 |
25 | p {
26 | font-family: inherit;
27 | font-size: 14px;
28 | font-weight: 300;
29 | margin-bottom: 1.11111em;
30 | text-rendering: optimizeLegibility;
31 | }
32 |
33 | li {
34 | font-family: inherit;
35 | font-size: 14px;
36 | font-weight: 200;
37 | margin-bottom: 1.1em;
38 | text-rendering: optimizeLegibility;
39 | }
40 |
41 |
42 | #banner {
43 | background-image: url("../banner_background.png");
44 | }
45 |
46 | #breadcrumbs {
47 | background-color: #333333;
48 | }
49 |
50 | #breadcrumbs {
51 | color: #fff;
52 | }
53 |
54 | #breadcrumbs a:link a:visited {
55 | color:#fff;
56 | }
57 |
58 | a:link {
59 | color: #70b3b8;
60 | }
61 |
62 | #navcolumn h5 {
63 | font-family: inherit;
64 | }
65 |
66 | #navcolumn li {
67 | font-family: inherit;
68 | margin: 4px;
69 | }
--------------------------------------------------------------------------------
/src/site/resources/downloads/oak-distribution-1.1.10-SNAPSHOT-bin.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/downloads/oak-distribution-1.1.10-SNAPSHOT-bin.tar.gz
--------------------------------------------------------------------------------
/src/site/resources/downloads/oak-distribution-1.1.10-SNAPSHOT-bin.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/downloads/oak-distribution-1.1.10-SNAPSHOT-bin.zip
--------------------------------------------------------------------------------
/src/site/resources/downloads/oak-distribution-1.1.9-bin.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/downloads/oak-distribution-1.1.9-bin.tar.gz
--------------------------------------------------------------------------------
/src/site/resources/downloads/oak-distribution-1.1.9-bin.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/downloads/oak-distribution-1.1.9-bin.zip
--------------------------------------------------------------------------------
/src/site/resources/downloads/oak-distribution-1.3.7-SNAPSHOT-bin.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/downloads/oak-distribution-1.3.7-SNAPSHOT-bin.tar.gz
--------------------------------------------------------------------------------
/src/site/resources/downloads/oak-distribution-1.3.7-SNAPSHOT-bin.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/downloads/oak-distribution-1.3.7-SNAPSHOT-bin.zip
--------------------------------------------------------------------------------
/src/site/resources/downloads/oak-library-1.1.10-SNAPSHOT.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/downloads/oak-library-1.1.10-SNAPSHOT.jar
--------------------------------------------------------------------------------
/src/site/resources/downloads/oak-library-1.1.9.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/downloads/oak-library-1.1.9.jar
--------------------------------------------------------------------------------
/src/site/resources/images/android-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/images/android-logo.jpg
--------------------------------------------------------------------------------
/src/site/resources/images/wta_circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/images/wta_circle.png
--------------------------------------------------------------------------------
/src/site/resources/obscured_shared_prefs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/obscured_shared_prefs.png
--------------------------------------------------------------------------------
/src/site/resources/section_list_demo.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/section_list_demo.mp4
--------------------------------------------------------------------------------
/src/site/resources/sectionadapter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/sectionadapter.png
--------------------------------------------------------------------------------
/src/site/resources/spreedsheet_demo.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/spreedsheet_demo.mp4
--------------------------------------------------------------------------------
/src/site/resources/svg_demo.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/svg_demo.mp4
--------------------------------------------------------------------------------
/src/site/resources/swanky_gallery_demo.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/swanky_gallery_demo.mp4
--------------------------------------------------------------------------------
/src/site/resources/vertical_viewpager_demo.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/willowtreeapps/OAK/635cd72410af280b4afe2ee790f69b1291cc76be/src/site/resources/vertical_viewpager_demo.mp4
--------------------------------------------------------------------------------