diff --git a/library_pullToRefresh b/library_pullToRefresh deleted file mode 160000 index 45c04f1..0000000 --- a/library_pullToRefresh +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 45c04f1d20baac88af670a40f4ef373c66019c7a diff --git a/library_pullToRefresh/.classpath b/library_pullToRefresh/.classpath new file mode 100644 index 0000000..5176974 --- /dev/null +++ b/library_pullToRefresh/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/library_pullToRefresh/.project b/library_pullToRefresh/.project new file mode 100644 index 0000000..cb7d5a1 --- /dev/null +++ b/library_pullToRefresh/.project @@ -0,0 +1,33 @@ + + + library_pullToRefresh + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + + diff --git a/library_pullToRefresh/.settings/org.eclipse.core.resources.prefs b/library_pullToRefresh/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/library_pullToRefresh/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/library_pullToRefresh/.settings/org.eclipse.jdt.core.prefs b/library_pullToRefresh/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..b080d2d --- /dev/null +++ b/library_pullToRefresh/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/library_pullToRefresh/AndroidManifest.xml b/library_pullToRefresh/AndroidManifest.xml new file mode 100644 index 0000000..c3db567 --- /dev/null +++ b/library_pullToRefresh/AndroidManifest.xml @@ -0,0 +1,11 @@ + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/LICENSE b/library_pullToRefresh/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/library_pullToRefresh/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/library_pullToRefresh/bin/AndroidManifest.xml b/library_pullToRefresh/bin/AndroidManifest.xml new file mode 100644 index 0000000..c3db567 --- /dev/null +++ b/library_pullToRefresh/bin/AndroidManifest.xml @@ -0,0 +1,11 @@ + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/bin/R.txt b/library_pullToRefresh/bin/R.txt new file mode 100644 index 0000000..80a1311 --- /dev/null +++ b/library_pullToRefresh/bin/R.txt @@ -0,0 +1,84 @@ +int anim progresbar_anim 0x7f040000 +int anim refresh_view 0x7f040001 +int anim slide_in_from_bottom 0x7f040002 +int anim slide_in_from_top 0x7f040003 +int anim slide_out_to_bottom 0x7f040004 +int anim slide_out_to_top 0x7f040005 +int attr ptrAdapterViewBackground 0x7f010010 +int attr ptrAnimationStyle 0x7f01000c +int attr ptrDrawable 0x7f010006 +int attr ptrDrawableBottom 0x7f010012 +int attr ptrDrawableEnd 0x7f010008 +int attr ptrDrawableStart 0x7f010007 +int attr ptrDrawableTop 0x7f010011 +int attr ptrHeaderBackground 0x7f010001 +int attr ptrHeaderSubTextColor 0x7f010003 +int attr ptrHeaderTextAppearance 0x7f01000a +int attr ptrHeaderTextColor 0x7f010002 +int attr ptrListViewExtrasEnabled 0x7f01000e +int attr ptrMode 0x7f010004 +int attr ptrOverScroll 0x7f010009 +int attr ptrRefreshableViewBackground 0x7f010000 +int attr ptrRotateDrawableWhilePulling 0x7f01000f +int attr ptrScrollingWhileRefreshingEnabled 0x7f01000d +int attr ptrShowIndicator 0x7f010005 +int attr ptrSubHeaderTextAppearance 0x7f01000b +int dimen header_footer_left_right_padding 0x7f050003 +int dimen header_footer_top_bottom_padding 0x7f050004 +int dimen indicator_corner_radius 0x7f050001 +int dimen indicator_internal_padding 0x7f050002 +int dimen indicator_right_padding 0x7f050000 +int drawable default_ptr_rotate 0x7f020000 +int drawable indicator_arrow 0x7f020001 +int drawable indicator_bg_bottom 0x7f020002 +int drawable indicator_bg_top 0x7f020003 +int drawable loading_01 0x7f020004 +int drawable loading_02 0x7f020005 +int drawable loading_03 0x7f020006 +int drawable loading_04 0x7f020007 +int drawable refresh_anim 0x7f020008 +int id both 0x7f060003 +int id disabled 0x7f060004 +int id fl_inner 0x7f06000c +int id flip 0x7f06000a +int id gridview 0x7f060000 +int id manualOnly 0x7f060005 +int id pullDownFromTop 0x7f060006 +int id pullFromEnd 0x7f060007 +int id pullFromStart 0x7f060008 +int id pullUpFromBottom 0x7f060009 +int id pull_to_refresh_image 0x7f06000d +int id pull_to_refresh_progress 0x7f06000e +int id pull_to_refresh_sub_text 0x7f060010 +int id pull_to_refresh_text 0x7f06000f +int id rotate 0x7f06000b +int id scrollview 0x7f060002 +int id webview 0x7f060001 +int layout pull_to_refresh_header_horizontal 0x7f030000 +int layout pull_to_refresh_header_vertical 0x7f030001 +int string pull_to_refresh_from_bottom_pull_label 0x7f070003 +int string pull_to_refresh_from_bottom_refreshing_label 0x7f070005 +int string pull_to_refresh_from_bottom_release_label 0x7f070004 +int string pull_to_refresh_pull_label 0x7f070000 +int string pull_to_refresh_refreshing_label 0x7f070002 +int string pull_to_refresh_release_label 0x7f070001 +int[] styleable PullToRefresh { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012 } +int styleable PullToRefresh_ptrAdapterViewBackground 16 +int styleable PullToRefresh_ptrAnimationStyle 12 +int styleable PullToRefresh_ptrDrawable 6 +int styleable PullToRefresh_ptrDrawableBottom 18 +int styleable PullToRefresh_ptrDrawableEnd 8 +int styleable PullToRefresh_ptrDrawableStart 7 +int styleable PullToRefresh_ptrDrawableTop 17 +int styleable PullToRefresh_ptrHeaderBackground 1 +int styleable PullToRefresh_ptrHeaderSubTextColor 3 +int styleable PullToRefresh_ptrHeaderTextAppearance 10 +int styleable PullToRefresh_ptrHeaderTextColor 2 +int styleable PullToRefresh_ptrListViewExtrasEnabled 14 +int styleable PullToRefresh_ptrMode 4 +int styleable PullToRefresh_ptrOverScroll 9 +int styleable PullToRefresh_ptrRefreshableViewBackground 0 +int styleable PullToRefresh_ptrRotateDrawableWhilePulling 15 +int styleable PullToRefresh_ptrScrollingWhileRefreshingEnabled 13 +int styleable PullToRefresh_ptrShowIndicator 5 +int styleable PullToRefresh_ptrSubHeaderTextAppearance 11 diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/BuildConfig.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/BuildConfig.class new file mode 100644 index 0000000..d25e128 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/BuildConfig.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/ILoadingLayout.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/ILoadingLayout.class new file mode 100644 index 0000000..eaf4c9e Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/ILoadingLayout.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/IPullToRefresh.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/IPullToRefresh.class new file mode 100644 index 0000000..3f616b1 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/IPullToRefresh.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/LoadingLayoutProxy.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/LoadingLayoutProxy.class new file mode 100644 index 0000000..a58eee5 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/LoadingLayoutProxy.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/OverscrollHelper.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/OverscrollHelper.class new file mode 100644 index 0000000..16ad4c3 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/OverscrollHelper.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.class new file mode 100644 index 0000000..3e4604e Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$1.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$1.class new file mode 100644 index 0000000..f34652a Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$1.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$2.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$2.class new file mode 100644 index 0000000..373d060 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$2.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$3.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$3.class new file mode 100644 index 0000000..da864ca Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$3.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$AnimationStyle.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$AnimationStyle.class new file mode 100644 index 0000000..66aaec3 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$AnimationStyle.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$Mode.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$Mode.class new file mode 100644 index 0000000..2a17781 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$Mode.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$OnLastItemVisibleListener.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$OnLastItemVisibleListener.class new file mode 100644 index 0000000..83f2988 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$OnLastItemVisibleListener.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$OnPullEventListener.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$OnPullEventListener.class new file mode 100644 index 0000000..dc74b8c Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$OnPullEventListener.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener.class new file mode 100644 index 0000000..03864d3 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener2.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener2.class new file mode 100644 index 0000000..d113c05 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener2.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$OnSmoothScrollFinishedListener.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$OnSmoothScrollFinishedListener.class new file mode 100644 index 0000000..25f6a48 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$OnSmoothScrollFinishedListener.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$Orientation.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$Orientation.class new file mode 100644 index 0000000..75bde1c Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$Orientation.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$SmoothScrollRunnable.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$SmoothScrollRunnable.class new file mode 100644 index 0000000..183e3cc Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$SmoothScrollRunnable.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$State.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$State.class new file mode 100644 index 0000000..38426b0 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase$State.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase.class new file mode 100644 index 0000000..3c9c6fd Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshBase.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListView.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListView.class new file mode 100644 index 0000000..58988d7 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListView.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListViewSDK9.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListViewSDK9.class new file mode 100644 index 0000000..2e065c5 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListViewSDK9.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.class new file mode 100644 index 0000000..362ba03 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridView.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridView.class new file mode 100644 index 0000000..db7fc11 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridView.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridViewSDK9.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridViewSDK9.class new file mode 100644 index 0000000..7b9e7a7 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridViewSDK9.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshGridView.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshGridView.class new file mode 100644 index 0000000..9cc55ab Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshGridView.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView$InternalHorizontalScrollViewSDK9.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView$InternalHorizontalScrollViewSDK9.class new file mode 100644 index 0000000..f57d677 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView$InternalHorizontalScrollViewSDK9.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.class new file mode 100644 index 0000000..6d957ce Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListView.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListView.class new file mode 100644 index 0000000..9a3e875 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListView.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListViewSDK9.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListViewSDK9.class new file mode 100644 index 0000000..418588e Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListViewSDK9.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshListView.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshListView.class new file mode 100644 index 0000000..7f19ff5 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshListView.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshScrollView$InternalScrollViewSDK9.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshScrollView$InternalScrollViewSDK9.class new file mode 100644 index 0000000..bedfc60 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshScrollView$InternalScrollViewSDK9.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshScrollView.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshScrollView.class new file mode 100644 index 0000000..35bfb31 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshScrollView.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshWebView$1.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshWebView$1.class new file mode 100644 index 0000000..ee474cd Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshWebView$1.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshWebView$2.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshWebView$2.class new file mode 100644 index 0000000..ace08ef Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshWebView$2.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshWebView$InternalWebViewSDK9.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshWebView$InternalWebViewSDK9.class new file mode 100644 index 0000000..75c8ae8 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshWebView$InternalWebViewSDK9.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshWebView.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshWebView.class new file mode 100644 index 0000000..33ae973 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/PullToRefreshWebView.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$anim.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$anim.class new file mode 100644 index 0000000..a150d95 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$anim.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$attr.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$attr.class new file mode 100644 index 0000000..c076659 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$attr.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$dimen.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$dimen.class new file mode 100644 index 0000000..fdada82 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$dimen.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$drawable.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$drawable.class new file mode 100644 index 0000000..a5f1c32 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$drawable.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$id.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$id.class new file mode 100644 index 0000000..0ea8742 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$id.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$layout.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$layout.class new file mode 100644 index 0000000..2f04630 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$layout.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$string.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$string.class new file mode 100644 index 0000000..259c365 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$string.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$styleable.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$styleable.class new file mode 100644 index 0000000..6493cbb Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R$styleable.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R.class new file mode 100644 index 0000000..8ec87ca Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/R.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2$JsValueCallback.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2$JsValueCallback.class new file mode 100644 index 0000000..7f628ec Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2$JsValueCallback.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.class new file mode 100644 index 0000000..a2151d4 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.class new file mode 100644 index 0000000..81fa269 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.class new file mode 100644 index 0000000..154f359 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.class new file mode 100644 index 0000000..0be539a Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/IndicatorLayout.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/IndicatorLayout.class new file mode 100644 index 0000000..6eae339 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/IndicatorLayout.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/LoadingLayout.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/LoadingLayout.class new file mode 100644 index 0000000..01ea518 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/LoadingLayout.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.class new file mode 100644 index 0000000..7f7de39 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/TweenAnimLoadingLayout.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/TweenAnimLoadingLayout.class new file mode 100644 index 0000000..d42634d Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/TweenAnimLoadingLayout.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/Utils.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/Utils.class new file mode 100644 index 0000000..7699074 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/Utils.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK11.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK11.class new file mode 100644 index 0000000..9fd7c12 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK11.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK16.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK16.class new file mode 100644 index 0000000..49b2028 Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK16.class differ diff --git a/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/ViewCompat.class b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/ViewCompat.class new file mode 100644 index 0000000..fbf0deb Binary files /dev/null and b/library_pullToRefresh/bin/classes/com/handmark/pulltorefresh/library/internal/ViewCompat.class differ diff --git a/library_pullToRefresh/bin/jarlist.cache b/library_pullToRefresh/bin/jarlist.cache new file mode 100644 index 0000000..0565465 --- /dev/null +++ b/library_pullToRefresh/bin/jarlist.cache @@ -0,0 +1,3 @@ +# cache for current jar dependency. DO NOT EDIT. +# format is +# Encoding is UTF-8 diff --git a/library_pullToRefresh/bin/library_pulltorefresh.jar b/library_pullToRefresh/bin/library_pulltorefresh.jar new file mode 100644 index 0000000..fb60783 Binary files /dev/null and b/library_pullToRefresh/bin/library_pulltorefresh.jar differ diff --git a/library_pullToRefresh/bin/res/crunch/drawable-hdpi/default_ptr_rotate.png b/library_pullToRefresh/bin/res/crunch/drawable-hdpi/default_ptr_rotate.png new file mode 100644 index 0000000..f0a4bfe Binary files /dev/null and b/library_pullToRefresh/bin/res/crunch/drawable-hdpi/default_ptr_rotate.png differ diff --git a/library_pullToRefresh/bin/res/crunch/drawable-hdpi/indicator_arrow.png b/library_pullToRefresh/bin/res/crunch/drawable-hdpi/indicator_arrow.png new file mode 100644 index 0000000..464d2f3 Binary files /dev/null and b/library_pullToRefresh/bin/res/crunch/drawable-hdpi/indicator_arrow.png differ diff --git a/library_pullToRefresh/bin/res/crunch/drawable-mdpi/default_ptr_rotate.png b/library_pullToRefresh/bin/res/crunch/drawable-mdpi/default_ptr_rotate.png new file mode 100644 index 0000000..8ae16e93 Binary files /dev/null and b/library_pullToRefresh/bin/res/crunch/drawable-mdpi/default_ptr_rotate.png differ diff --git a/library_pullToRefresh/bin/res/crunch/drawable-mdpi/indicator_arrow.png b/library_pullToRefresh/bin/res/crunch/drawable-mdpi/indicator_arrow.png new file mode 100644 index 0000000..fc99373 Binary files /dev/null and b/library_pullToRefresh/bin/res/crunch/drawable-mdpi/indicator_arrow.png differ diff --git a/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/default_ptr_rotate.png b/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/default_ptr_rotate.png new file mode 100644 index 0000000..495d087 Binary files /dev/null and b/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/default_ptr_rotate.png differ diff --git a/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/indicator_arrow.png b/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/indicator_arrow.png new file mode 100644 index 0000000..2b8c086 Binary files /dev/null and b/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/indicator_arrow.png differ diff --git a/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/loading_01.png b/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/loading_01.png new file mode 100644 index 0000000..8a64847 Binary files /dev/null and b/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/loading_01.png differ diff --git a/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/loading_02.png b/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/loading_02.png new file mode 100644 index 0000000..aa6f3de Binary files /dev/null and b/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/loading_02.png differ diff --git a/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/loading_03.png b/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/loading_03.png new file mode 100644 index 0000000..1850fd4 Binary files /dev/null and b/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/loading_03.png differ diff --git a/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/loading_04.png b/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/loading_04.png new file mode 100644 index 0000000..befba85 Binary files /dev/null and b/library_pullToRefresh/bin/res/crunch/drawable-xhdpi/loading_04.png differ diff --git a/library_pullToRefresh/build.gradle b/library_pullToRefresh/build.gradle new file mode 100644 index 0000000..97828c0 --- /dev/null +++ b/library_pullToRefresh/build.gradle @@ -0,0 +1,37 @@ +apply plugin: 'android-library' + +dependencies { + compile fileTree(dir: 'libs', include: '*.jar') +} + +android { + compileSdkVersion 26 + buildToolsVersion "26.0.2" + lintOptions { + abortOnError false + } + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + jniLibs.srcDirs = ['libs'] + java.srcDirs = ['src'] + resources.srcDirs = ['src'] + aidl.srcDirs = ['src'] + renderscript.srcDirs = ['src'] + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + } + + // Move the tests to tests/java, tests/res, etc... + instrumentTest.setRoot('tests') + + // Move the build types to build-types/ + // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... + // This moves them out of them default location under src//... which would + // conflict with src/ being used by the main source set. + // Adding new build types or product flavors should be accompanied + // by a similar customization. + debug.setRoot('build-types/debug') + release.setRoot('build-types/release') + } +} diff --git a/library_pullToRefresh/build/generated/source/buildConfig/debug/com/handmark/pulltorefresh/library/BuildConfig.java b/library_pullToRefresh/build/generated/source/buildConfig/debug/com/handmark/pulltorefresh/library/BuildConfig.java new file mode 100644 index 0000000..f1c4d28 --- /dev/null +++ b/library_pullToRefresh/build/generated/source/buildConfig/debug/com/handmark/pulltorefresh/library/BuildConfig.java @@ -0,0 +1,13 @@ +/** + * Automatically generated file. DO NOT MODIFY + */ +package com.handmark.pulltorefresh.library; + +public final class BuildConfig { + public static final boolean DEBUG = Boolean.parseBoolean("true"); + public static final String APPLICATION_ID = "com.handmark.pulltorefresh.library"; + public static final String BUILD_TYPE = "debug"; + public static final String FLAVOR = ""; + public static final int VERSION_CODE = 2110; + public static final String VERSION_NAME = "2.1.1"; +} diff --git a/library_pullToRefresh/build/generated/source/buildConfig/release/com/handmark/pulltorefresh/library/BuildConfig.java b/library_pullToRefresh/build/generated/source/buildConfig/release/com/handmark/pulltorefresh/library/BuildConfig.java new file mode 100644 index 0000000..5d1c82f --- /dev/null +++ b/library_pullToRefresh/build/generated/source/buildConfig/release/com/handmark/pulltorefresh/library/BuildConfig.java @@ -0,0 +1,13 @@ +/** + * Automatically generated file. DO NOT MODIFY + */ +package com.handmark.pulltorefresh.library; + +public final class BuildConfig { + public static final boolean DEBUG = false; + public static final String APPLICATION_ID = "com.handmark.pulltorefresh.library"; + public static final String BUILD_TYPE = "release"; + public static final String FLAVOR = ""; + public static final int VERSION_CODE = 2110; + public static final String VERSION_NAME = "2.1.1"; +} diff --git a/library_pullToRefresh/build/generated/source/r/debug/com/handmark/pulltorefresh/library/R.java b/library_pullToRefresh/build/generated/source/r/debug/com/handmark/pulltorefresh/library/R.java new file mode 100644 index 0000000..031be46 --- /dev/null +++ b/library_pullToRefresh/build/generated/source/r/debug/com/handmark/pulltorefresh/library/R.java @@ -0,0 +1,101 @@ +/* AUTO-GENERATED FILE. DO NOT MODIFY. + * + * This class was automatically generated by the + * gradle plugin from the resource data it found. It + * should not be modified by hand. + */ +package com.handmark.pulltorefresh.library; + +public final class R { + public static final class anim { + public static int progresbar_anim = 0x7f010001; + public static int refresh_view = 0x7f010002; + public static int slide_in_from_bottom = 0x7f010003; + public static int slide_in_from_top = 0x7f010004; + public static int slide_out_to_bottom = 0x7f010005; + public static int slide_out_to_top = 0x7f010006; + } + public static final class attr { + public static int ptrAdapterViewBackground = 0x7f040001; + public static int ptrAnimationStyle = 0x7f040002; + public static int ptrDrawable = 0x7f040003; + public static int ptrDrawableBottom = 0x7f040004; + public static int ptrDrawableEnd = 0x7f040005; + public static int ptrDrawableStart = 0x7f040006; + public static int ptrDrawableTop = 0x7f040007; + public static int ptrHeaderBackground = 0x7f040008; + public static int ptrHeaderSubTextColor = 0x7f040009; + public static int ptrHeaderTextAppearance = 0x7f04000a; + public static int ptrHeaderTextColor = 0x7f04000b; + public static int ptrListViewExtrasEnabled = 0x7f04000c; + public static int ptrMode = 0x7f04000d; + public static int ptrOverScroll = 0x7f04000e; + public static int ptrRefreshableViewBackground = 0x7f04000f; + public static int ptrRotateDrawableWhilePulling = 0x7f040010; + public static int ptrScrollingWhileRefreshingEnabled = 0x7f040011; + public static int ptrShowIndicator = 0x7f040012; + public static int ptrSubHeaderTextAppearance = 0x7f040013; + } + public static final class dimen { + public static int header_footer_left_right_padding = 0x7f080001; + public static int header_footer_top_bottom_padding = 0x7f080002; + public static int indicator_corner_radius = 0x7f080003; + public static int indicator_internal_padding = 0x7f080004; + public static int indicator_right_padding = 0x7f080005; + } + public static final class drawable { + public static int default_ptr_rotate = 0x7f090001; + public static int indicator_arrow = 0x7f090002; + public static int indicator_bg_bottom = 0x7f090003; + public static int indicator_bg_top = 0x7f090004; + public static int loading_01 = 0x7f090005; + public static int loading_02 = 0x7f090006; + public static int loading_03 = 0x7f090007; + public static int loading_04 = 0x7f090008; + public static int refresh_anim = 0x7f090009; + } + public static final class id { + public static int fl_inner = 0x7f0c0001; + public static int gridview = 0x7f0c0002; + public static int pull_to_refresh_image = 0x7f0c0003; + public static int pull_to_refresh_progress = 0x7f0c0004; + public static int pull_to_refresh_sub_text = 0x7f0c0005; + public static int pull_to_refresh_text = 0x7f0c0006; + public static int scrollview = 0x7f0c0007; + public static int webview = 0x7f0c0008; + } + public static final class layout { + public static int pull_to_refresh_header_horizontal = 0x7f0f0001; + public static int pull_to_refresh_header_vertical = 0x7f0f0002; + } + public static final class string { + public static int pull_to_refresh_from_bottom_pull_label = 0x7f150001; + public static int pull_to_refresh_from_bottom_refreshing_label = 0x7f150002; + public static int pull_to_refresh_from_bottom_release_label = 0x7f150003; + public static int pull_to_refresh_pull_label = 0x7f150004; + public static int pull_to_refresh_refreshing_label = 0x7f150005; + public static int pull_to_refresh_release_label = 0x7f150006; + } + public static final class styleable { + public static int[] PullToRefresh = { 0x7f040001, 0x7f040002, 0x7f040003, 0x7f040004, 0x7f040005, 0x7f040006, 0x7f040007, 0x7f040008, 0x7f040009, 0x7f04000a, 0x7f04000b, 0x7f04000c, 0x7f04000d, 0x7f04000e, 0x7f04000f, 0x7f040010, 0x7f040011, 0x7f040012, 0x7f040013 }; + public static int PullToRefresh_ptrAdapterViewBackground = 0; + public static int PullToRefresh_ptrAnimationStyle = 1; + public static int PullToRefresh_ptrDrawable = 2; + public static int PullToRefresh_ptrDrawableBottom = 3; + public static int PullToRefresh_ptrDrawableEnd = 4; + public static int PullToRefresh_ptrDrawableStart = 5; + public static int PullToRefresh_ptrDrawableTop = 6; + public static int PullToRefresh_ptrHeaderBackground = 7; + public static int PullToRefresh_ptrHeaderSubTextColor = 8; + public static int PullToRefresh_ptrHeaderTextAppearance = 9; + public static int PullToRefresh_ptrHeaderTextColor = 10; + public static int PullToRefresh_ptrListViewExtrasEnabled = 11; + public static int PullToRefresh_ptrMode = 12; + public static int PullToRefresh_ptrOverScroll = 13; + public static int PullToRefresh_ptrRefreshableViewBackground = 14; + public static int PullToRefresh_ptrRotateDrawableWhilePulling = 15; + public static int PullToRefresh_ptrScrollingWhileRefreshingEnabled = 16; + public static int PullToRefresh_ptrShowIndicator = 17; + public static int PullToRefresh_ptrSubHeaderTextAppearance = 18; + } +} diff --git a/library_pullToRefresh/build/generated/source/r/release/com/handmark/pulltorefresh/library/R.java b/library_pullToRefresh/build/generated/source/r/release/com/handmark/pulltorefresh/library/R.java new file mode 100644 index 0000000..031be46 --- /dev/null +++ b/library_pullToRefresh/build/generated/source/r/release/com/handmark/pulltorefresh/library/R.java @@ -0,0 +1,101 @@ +/* AUTO-GENERATED FILE. DO NOT MODIFY. + * + * This class was automatically generated by the + * gradle plugin from the resource data it found. It + * should not be modified by hand. + */ +package com.handmark.pulltorefresh.library; + +public final class R { + public static final class anim { + public static int progresbar_anim = 0x7f010001; + public static int refresh_view = 0x7f010002; + public static int slide_in_from_bottom = 0x7f010003; + public static int slide_in_from_top = 0x7f010004; + public static int slide_out_to_bottom = 0x7f010005; + public static int slide_out_to_top = 0x7f010006; + } + public static final class attr { + public static int ptrAdapterViewBackground = 0x7f040001; + public static int ptrAnimationStyle = 0x7f040002; + public static int ptrDrawable = 0x7f040003; + public static int ptrDrawableBottom = 0x7f040004; + public static int ptrDrawableEnd = 0x7f040005; + public static int ptrDrawableStart = 0x7f040006; + public static int ptrDrawableTop = 0x7f040007; + public static int ptrHeaderBackground = 0x7f040008; + public static int ptrHeaderSubTextColor = 0x7f040009; + public static int ptrHeaderTextAppearance = 0x7f04000a; + public static int ptrHeaderTextColor = 0x7f04000b; + public static int ptrListViewExtrasEnabled = 0x7f04000c; + public static int ptrMode = 0x7f04000d; + public static int ptrOverScroll = 0x7f04000e; + public static int ptrRefreshableViewBackground = 0x7f04000f; + public static int ptrRotateDrawableWhilePulling = 0x7f040010; + public static int ptrScrollingWhileRefreshingEnabled = 0x7f040011; + public static int ptrShowIndicator = 0x7f040012; + public static int ptrSubHeaderTextAppearance = 0x7f040013; + } + public static final class dimen { + public static int header_footer_left_right_padding = 0x7f080001; + public static int header_footer_top_bottom_padding = 0x7f080002; + public static int indicator_corner_radius = 0x7f080003; + public static int indicator_internal_padding = 0x7f080004; + public static int indicator_right_padding = 0x7f080005; + } + public static final class drawable { + public static int default_ptr_rotate = 0x7f090001; + public static int indicator_arrow = 0x7f090002; + public static int indicator_bg_bottom = 0x7f090003; + public static int indicator_bg_top = 0x7f090004; + public static int loading_01 = 0x7f090005; + public static int loading_02 = 0x7f090006; + public static int loading_03 = 0x7f090007; + public static int loading_04 = 0x7f090008; + public static int refresh_anim = 0x7f090009; + } + public static final class id { + public static int fl_inner = 0x7f0c0001; + public static int gridview = 0x7f0c0002; + public static int pull_to_refresh_image = 0x7f0c0003; + public static int pull_to_refresh_progress = 0x7f0c0004; + public static int pull_to_refresh_sub_text = 0x7f0c0005; + public static int pull_to_refresh_text = 0x7f0c0006; + public static int scrollview = 0x7f0c0007; + public static int webview = 0x7f0c0008; + } + public static final class layout { + public static int pull_to_refresh_header_horizontal = 0x7f0f0001; + public static int pull_to_refresh_header_vertical = 0x7f0f0002; + } + public static final class string { + public static int pull_to_refresh_from_bottom_pull_label = 0x7f150001; + public static int pull_to_refresh_from_bottom_refreshing_label = 0x7f150002; + public static int pull_to_refresh_from_bottom_release_label = 0x7f150003; + public static int pull_to_refresh_pull_label = 0x7f150004; + public static int pull_to_refresh_refreshing_label = 0x7f150005; + public static int pull_to_refresh_release_label = 0x7f150006; + } + public static final class styleable { + public static int[] PullToRefresh = { 0x7f040001, 0x7f040002, 0x7f040003, 0x7f040004, 0x7f040005, 0x7f040006, 0x7f040007, 0x7f040008, 0x7f040009, 0x7f04000a, 0x7f04000b, 0x7f04000c, 0x7f04000d, 0x7f04000e, 0x7f04000f, 0x7f040010, 0x7f040011, 0x7f040012, 0x7f040013 }; + public static int PullToRefresh_ptrAdapterViewBackground = 0; + public static int PullToRefresh_ptrAnimationStyle = 1; + public static int PullToRefresh_ptrDrawable = 2; + public static int PullToRefresh_ptrDrawableBottom = 3; + public static int PullToRefresh_ptrDrawableEnd = 4; + public static int PullToRefresh_ptrDrawableStart = 5; + public static int PullToRefresh_ptrDrawableTop = 6; + public static int PullToRefresh_ptrHeaderBackground = 7; + public static int PullToRefresh_ptrHeaderSubTextColor = 8; + public static int PullToRefresh_ptrHeaderTextAppearance = 9; + public static int PullToRefresh_ptrHeaderTextColor = 10; + public static int PullToRefresh_ptrListViewExtrasEnabled = 11; + public static int PullToRefresh_ptrMode = 12; + public static int PullToRefresh_ptrOverScroll = 13; + public static int PullToRefresh_ptrRefreshableViewBackground = 14; + public static int PullToRefresh_ptrRotateDrawableWhilePulling = 15; + public static int PullToRefresh_ptrScrollingWhileRefreshingEnabled = 16; + public static int PullToRefresh_ptrShowIndicator = 17; + public static int PullToRefresh_ptrSubHeaderTextAppearance = 18; + } +} diff --git a/library_pullToRefresh/build/intermediates/attr/R.txt b/library_pullToRefresh/build/intermediates/attr/R.txt new file mode 100644 index 0000000..a8028d5 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/attr/R.txt @@ -0,0 +1,1347 @@ +int attr absListViewStyle 0x0101006a +int attr accessibilityEventTypes 0x01010380 +int attr accessibilityFeedbackType 0x01010382 +int attr accessibilityFlags 0x01010384 +int attr accessibilityLiveRegion 0x010103ee +int attr accessibilityTraversalAfter 0x010104d2 +int attr accessibilityTraversalBefore 0x010104d1 +int attr accountPreferences 0x0101029f +int attr accountType 0x0101028f +int attr action 0x0101002d +int attr actionBarDivider 0x0101039b +int attr actionBarItemBackground 0x0101039c +int attr actionBarPopupTheme 0x0101048d +int attr actionBarSize 0x010102eb +int attr actionBarSplitStyle 0x01010388 +int attr actionBarStyle 0x010102ce +int attr actionBarTabBarStyle 0x010102f4 +int attr actionBarTabStyle 0x010102f3 +int attr actionBarTabTextStyle 0x010102f5 +int attr actionBarTheme 0x01010431 +int attr actionBarWidgetTheme 0x01010397 +int attr actionButtonStyle 0x010102d8 +int attr actionDropDownStyle 0x010102d7 +int attr actionLayout 0x010102fb +int attr actionMenuTextAppearance 0x01010360 +int attr actionMenuTextColor 0x01010361 +int attr actionModeBackground 0x010102db +int attr actionModeCloseButtonStyle 0x010102f7 +int attr actionModeCloseDrawable 0x010102dc +int attr actionModeCopyDrawable 0x01010312 +int attr actionModeCutDrawable 0x01010311 +int attr actionModeFindDrawable 0x0101047a +int attr actionModePasteDrawable 0x01010313 +int attr actionModeSelectAllDrawable 0x0101037e +int attr actionModeShareDrawable 0x01010479 +int attr actionModeSplitBackground 0x0101039d +int attr actionModeStyle 0x01010394 +int attr actionModeWebSearchDrawable 0x0101047b +int attr actionOverflowButtonStyle 0x010102f6 +int attr actionOverflowMenuStyle 0x01010444 +int attr actionProviderClass 0x01010389 +int attr actionViewClass 0x010102fc +int attr activatedBackgroundIndicator 0x010102fd +int attr activityCloseEnterAnimation 0x010100ba +int attr activityCloseExitAnimation 0x010100bb +int attr activityOpenEnterAnimation 0x010100b8 +int attr activityOpenExitAnimation 0x010100b9 +int attr addPrintersActivity 0x010103e6 +int attr addStatesFromChildren 0x010100f0 +int attr adjustViewBounds 0x0101011e +int attr advancedPrintOptionsActivity 0x010103f1 +int attr alertDialogIcon 0x01010355 +int attr alertDialogStyle 0x0101005d +int attr alertDialogTheme 0x01010309 +int attr alignmentMode 0x0101037a +int attr allContactsName 0x010102cc +int attr allowBackup 0x01010280 +int attr allowClearUserData 0x01010005 +int attr allowEmbedded 0x010103f5 +int attr allowParallelSyncs 0x01010332 +int attr allowSingleTap 0x01010259 +int attr allowTaskReparenting 0x01010204 +int attr allowUndo 0x010104df +int attr alpha 0x0101031f +int attr alphabeticModifiers 0x0101054e +int attr alphabeticShortcut 0x010101e3 +int attr alwaysDrawnWithCache 0x010100ef +int attr alwaysRetainTaskState 0x01010203 +int attr amPmBackgroundColor 0x010104a5 +int attr amPmTextColor 0x010104a4 +int attr ambientShadowAlpha 0x010104be +int attr angle 0x010101a0 +int attr animateFirstView 0x010102d5 +int attr animateLayoutChanges 0x010102f2 +int attr animateOnClick 0x0101025c +int attr animation 0x010101cd +int attr animationCache 0x010100ed +int attr animationDuration 0x01010112 +int attr animationOrder 0x010101ce +int attr animationResolution 0x0101031a +int attr antialias 0x0101011a +int attr anyDensity 0x0101026c +int attr apduServiceBanner 0x010103ed +int attr apiKey 0x01010211 +int attr appCategory 0x01010545 +int attr author 0x010102b4 +int attr authorities 0x01010018 +int attr autoAdvanceViewId 0x0101030f +int attr autoCompleteTextViewStyle 0x0101006b +int attr autoLink 0x010100b0 +int attr autoMirrored 0x010103ea +int attr autoRemoveFromRecents 0x01010447 +int attr autoSizeMaxTextSize 0x01010546 +int attr autoSizeMinTextSize 0x01010538 +int attr autoSizePresetSizes 0x01010537 +int attr autoSizeStepGranularity 0x01010536 +int attr autoSizeTextType 0x01010535 +int attr autoStart 0x010102b5 +int attr autoText 0x0101016a +int attr autoUrlDetect 0x0101028c +int attr autoVerify 0x010104ee +int attr autofillHints 0x01010556 +int attr autofilledHighlight 0x01010568 +int attr background 0x010100d4 +int attr backgroundDimAmount 0x01010032 +int attr backgroundDimEnabled 0x0101021f +int attr backgroundSplit 0x0101038b +int attr backgroundStacked 0x0101038a +int attr backgroundTint 0x0101046b +int attr backgroundTintMode 0x0101046c +int attr backupAgent 0x0101027f +int attr backupInForeground 0x0101051a +int attr banner 0x010103f2 +int attr baseline 0x0101031c +int attr baselineAlignBottom 0x01010122 +int attr baselineAligned 0x01010126 +int attr baselineAlignedChildIndex 0x01010127 +int attr bitmap 0x01010516 +int attr borderlessButtonStyle 0x0101032b +int attr bottom 0x010101b0 +int attr bottomBright 0x010100cd +int attr bottomDark 0x010100c9 +int attr bottomLeftRadius 0x010101ab +int attr bottomMedium 0x010100ce +int attr bottomOffset 0x01010257 +int attr bottomRightRadius 0x010101ac +int attr breadCrumbShortTitle 0x01010304 +int attr breadCrumbTitle 0x01010303 +int attr breakStrategy 0x010104dd +int attr bufferType 0x0101014e +int attr button 0x01010107 +int attr buttonBarButtonStyle 0x0101032f +int attr buttonBarNegativeButtonStyle 0x0101048b +int attr buttonBarNeutralButtonStyle 0x0101048a +int attr buttonBarPositiveButtonStyle 0x01010489 +int attr buttonBarStyle 0x0101032e +int attr buttonGravity 0x010104fe +int attr buttonStyle 0x01010048 +int attr buttonStyleInset 0x0101004a +int attr buttonStyleSmall 0x01010049 +int attr buttonStyleToggle 0x0101004b +int attr buttonTint 0x0101046f +int attr buttonTintMode 0x01010470 +int attr cacheColorHint 0x01010101 +int attr calendarTextColor 0x0101049b +int attr calendarViewShown 0x0101034c +int attr calendarViewStyle 0x0101035d +int attr canControlMagnification 0x01010507 +int attr canPerformGestures 0x0101050d +int attr canRecord 0x0101051c +int attr canRequestEnhancedWebAccessibility 0x010103d8 +int attr canRequestFilterKeyEvents 0x010103d9 +int attr canRequestFingerprintGestures 0x0101054d +int attr canRequestTouchExplorationMode 0x010103d7 +int attr canRetrieveWindowContent 0x01010385 +int attr candidatesTextStyleSpans 0x01010230 +int attr capitalize 0x01010169 +int attr category 0x010103e8 +int attr centerBright 0x010100cc +int attr centerColor 0x0101020b +int attr centerDark 0x010100c8 +int attr centerMedium 0x010100cf +int attr centerX 0x010101a2 +int attr centerY 0x010101a3 +int attr certDigest 0x01010548 +int attr checkBoxPreferenceStyle 0x0101008f +int attr checkMark 0x01010108 +int attr checkMarkTint 0x010104a7 +int attr checkMarkTintMode 0x010104a8 +int attr checkable 0x010101e5 +int attr checkableBehavior 0x010101e0 +int attr checkboxStyle 0x0101006c +int attr checked 0x01010106 +int attr checkedButton 0x01010148 +int attr checkedTextViewStyle 0x010103c8 +int attr childDivider 0x01010111 +int attr childIndicator 0x0101010c +int attr childIndicatorEnd 0x010103d4 +int attr childIndicatorLeft 0x0101010f +int attr childIndicatorRight 0x01010110 +int attr childIndicatorStart 0x010103d3 +int attr choiceMode 0x0101012b +int attr clearTaskOnLaunch 0x01010015 +int attr clickable 0x010100e5 +int attr clipChildren 0x010100ea +int attr clipOrientation 0x0101020a +int attr clipToPadding 0x010100eb +int attr closeIcon 0x01010481 +int attr codes 0x01010242 +int attr collapseColumns 0x0101014b +int attr collapseContentDescription 0x010104d0 +int attr collapseIcon 0x010104ff +int attr color 0x010101a5 +int attr colorAccent 0x01010435 +int attr colorActivatedHighlight 0x01010390 +int attr colorBackground 0x01010031 +int attr colorBackgroundCacheHint 0x010102ab +int attr colorBackgroundFloating 0x010104e2 +int attr colorButtonNormal 0x0101042b +int attr colorControlActivated 0x0101042a +int attr colorControlHighlight 0x0101042c +int attr colorControlNormal 0x01010429 +int attr colorEdgeEffect 0x010104ce +int attr colorError 0x01010543 +int attr colorFocusedHighlight 0x0101038f +int attr colorForeground 0x01010030 +int attr colorForegroundInverse 0x01010206 +int attr colorLongPressedHighlight 0x0101038e +int attr colorMode 0x0101054a +int attr colorMultiSelectHighlight 0x01010391 +int attr colorPressedHighlight 0x0101038d +int attr colorPrimary 0x01010433 +int attr colorPrimaryDark 0x01010434 +int attr colorSecondary 0x01010530 +int attr columnCount 0x01010377 +int attr columnDelay 0x010101cf +int attr columnOrderPreserved 0x01010378 +int attr columnWidth 0x01010117 +int attr commitIcon 0x01010485 +int attr compatibleWidthLimitDp 0x01010365 +int attr completionHint 0x01010172 +int attr completionHintView 0x01010173 +int attr completionThreshold 0x01010174 +int attr configChanges 0x0101001f +int attr configure 0x0101025d +int attr constantSize 0x01010196 +int attr content 0x0101025b +int attr contentAgeHint 0x010104b9 +int attr contentAuthority 0x01010290 +int attr contentDescription 0x01010273 +int attr contentInsetEnd 0x01010454 +int attr contentInsetEndWithActions 0x01010523 +int attr contentInsetLeft 0x01010455 +int attr contentInsetRight 0x01010456 +int attr contentInsetStart 0x01010453 +int attr contentInsetStartWithNavigation 0x01010522 +int attr contextClickable 0x010104e7 +int attr contextDescription 0x0101052e +int attr contextPopupMenuStyle 0x01010501 +int attr contextUri 0x0101052d +int attr controlX1 0x010103fc +int attr controlX2 0x010103fe +int attr controlY1 0x010103fd +int attr controlY2 0x010103ff +int attr countDown 0x0101051b +int attr country 0x010104ba +int attr cropToPadding 0x01010123 +int attr cursorVisible 0x01010152 +int attr customNavigationLayout 0x010102d2 +int attr customTokens 0x0101033b +int attr cycles 0x010101d4 +int attr dashGap 0x010101a7 +int attr dashWidth 0x010101a6 +int attr data 0x0101002e +int attr datePickerDialogTheme 0x010104ac +int attr datePickerMode 0x010104b3 +int attr datePickerStyle 0x0101035c +int attr dateTextAppearance 0x01010349 +int attr dayOfWeekBackground 0x01010494 +int attr dayOfWeekTextAppearance 0x01010495 +int attr debuggable 0x0101000f +int attr defaultFocusHighlightEnabled 0x01010562 +int attr defaultHeight 0x010104f5 +int attr defaultToDeviceProtectedStorage 0x01010504 +int attr defaultValue 0x010101ed +int attr defaultWidth 0x010104f4 +int attr delay 0x010101cc +int attr dependency 0x010101ec +int attr descendantFocusability 0x010100f1 +int attr description 0x01010020 +int attr detachWallpaper 0x010102a6 +int attr detailColumn 0x010102a3 +int attr detailSocialSummary 0x010102a4 +int attr detailsElementBackground 0x0101034e +int attr dial 0x01010102 +int attr dialogIcon 0x010101f4 +int attr dialogLayout 0x010101f7 +int attr dialogMessage 0x010101f3 +int attr dialogPreferenceStyle 0x01010091 +int attr dialogPreferredPadding 0x010104d3 +int attr dialogTheme 0x01010308 +int attr dialogTitle 0x010101f2 +int attr digits 0x01010166 +int attr directBootAware 0x01010505 +int attr direction 0x010101d1 +int attr directionDescriptions 0x010103a1 +int attr directionPriority 0x010101d2 +int attr disableDependentsState 0x010101f1 +int attr disabledAlpha 0x01010033 +int attr displayOptions 0x010102d0 +int attr dither 0x0101011c +int attr divider 0x01010129 +int attr dividerHeight 0x0101012a +int attr dividerHorizontal 0x0101032c +int attr dividerPadding 0x0101032a +int attr dividerVertical 0x0101030a +int attr documentLaunchMode 0x01010445 +int attr drawSelectorOnTop 0x010100fc +int attr drawable 0x01010199 +int attr drawableBottom 0x0101016e +int attr drawableEnd 0x01010393 +int attr drawableLeft 0x0101016f +int attr drawablePadding 0x01010171 +int attr drawableRight 0x01010170 +int attr drawableStart 0x01010392 +int attr drawableTint 0x010104d6 +int attr drawableTintMode 0x010104d7 +int attr drawableTop 0x0101016d +int attr drawingCacheQuality 0x010100e8 +int attr dropDownAnchor 0x01010263 +int attr dropDownHeight 0x01010283 +int attr dropDownHintAppearance 0x01010088 +int attr dropDownHorizontalOffset 0x010102ac +int attr dropDownItemStyle 0x01010086 +int attr dropDownListViewStyle 0x0101006d +int attr dropDownSelector 0x01010175 +int attr dropDownSpinnerStyle 0x010102d6 +int attr dropDownVerticalOffset 0x010102ad +int attr dropDownWidth 0x01010262 +int attr duplicateParentState 0x010100e9 +int attr duration 0x01010198 +int attr editTextBackground 0x01010352 +int attr editTextColor 0x01010351 +int attr editTextPreferenceStyle 0x01010092 +int attr editTextStyle 0x0101006e +int attr editable 0x0101016b +int attr editorExtras 0x01010224 +int attr elegantTextHeight 0x0101045d +int attr elevation 0x01010440 +int attr ellipsize 0x010100ab +int attr ems 0x01010158 +int attr enableVrMode 0x01010525 +int attr enabled 0x0101000e +int attr end 0x010104dc +int attr endColor 0x0101019e +int attr endX 0x01010512 +int attr endY 0x01010513 +int attr endYear 0x0101017d +int attr enterFadeDuration 0x0101030c +int attr entries 0x010100b2 +int attr entryValues 0x010101f8 +int attr eventsInterceptionEnabled 0x0101027d +int attr excludeClass 0x01010442 +int attr excludeFromRecents 0x01010017 +int attr excludeId 0x01010441 +int attr excludeName 0x0101044e +int attr exitFadeDuration 0x0101030d +int attr expandableListPreferredChildIndicatorLeft 0x01010052 +int attr expandableListPreferredChildIndicatorRight 0x01010053 +int attr expandableListPreferredChildPaddingLeft 0x0101004f +int attr expandableListPreferredItemIndicatorLeft 0x01010050 +int attr expandableListPreferredItemIndicatorRight 0x01010051 +int attr expandableListPreferredItemPaddingLeft 0x0101004e +int attr expandableListViewStyle 0x0101006f +int attr expandableListViewWhiteStyle 0x010102b6 +int attr exported 0x01010010 +int attr externalService 0x0101050e +int attr extraTension 0x0101026b +int attr extractNativeLibs 0x010104ea +int attr factor 0x010101d3 +int attr fadeDuration 0x01010278 +int attr fadeEnabled 0x0101027e +int attr fadeOffset 0x01010277 +int attr fadeScrollbars 0x010102aa +int attr fadingEdge 0x010100df +int attr fadingEdgeLength 0x010100e0 +int attr fadingMode 0x010103e1 +int attr fastScrollAlwaysVisible 0x01010335 +int attr fastScrollEnabled 0x01010226 +int attr fastScrollOverlayPosition 0x0101033a +int attr fastScrollPreviewBackgroundLeft 0x01010337 +int attr fastScrollPreviewBackgroundRight 0x01010338 +int attr fastScrollStyle 0x010103f7 +int attr fastScrollTextColor 0x01010359 +int attr fastScrollThumbDrawable 0x01010336 +int attr fastScrollTrackDrawable 0x01010339 +int attr fillAfter 0x010101bd +int attr fillAlpha 0x010104cc +int attr fillBefore 0x010101bc +int attr fillColor 0x01010404 +int attr fillEnabled 0x0101024f +int attr fillType 0x0101051e +int attr fillViewport 0x0101017a +int attr filter 0x0101011b +int attr filterTouchesWhenObscured 0x010102c4 +int attr fingerprintAuthDrawable 0x010104e8 +int attr finishOnCloseSystemDialogs 0x010102a7 +int attr finishOnTaskLaunch 0x01010014 +int attr firstDayOfWeek 0x0101033d +int attr fitsSystemWindows 0x010100dd +int attr flipInterval 0x01010179 +int attr focusable 0x010100da +int attr focusableInTouchMode 0x010100db +int attr focusedByDefault 0x01010544 +int attr focusedMonthDateColor 0x01010343 +int attr font 0x01010532 +int attr fontFamily 0x010103ac +int attr fontFeatureSettings 0x010104b7 +int attr fontProviderAuthority 0x01010550 +int attr fontProviderCerts 0x0101055d +int attr fontProviderPackage 0x01010557 +int attr fontProviderQuery 0x01010551 +int attr fontStyle 0x0101053f +int attr fontWeight 0x01010533 +int attr footerDividersEnabled 0x0101022f +int attr forceHasOverlappingRendering 0x01010521 +int attr foreground 0x01010109 +int attr foregroundGravity 0x01010200 +int attr foregroundTint 0x0101046d +int attr foregroundTintMode 0x0101046e +int attr format 0x01010105 +int attr format12Hour 0x010103ca +int attr format24Hour 0x010103cb +int attr fraction 0x010104d8 +int attr fragment 0x010102e3 +int attr fragmentAllowEnterTransitionOverlap 0x010104c8 +int attr fragmentAllowReturnTransitionOverlap 0x010104c9 +int attr fragmentCloseEnterAnimation 0x010102e7 +int attr fragmentCloseExitAnimation 0x010102e8 +int attr fragmentEnterTransition 0x010104c3 +int attr fragmentExitTransition 0x010104c2 +int attr fragmentFadeEnterAnimation 0x010102e9 +int attr fragmentFadeExitAnimation 0x010102ea +int attr fragmentOpenEnterAnimation 0x010102e5 +int attr fragmentOpenExitAnimation 0x010102e6 +int attr fragmentReenterTransition 0x010104c7 +int attr fragmentReturnTransition 0x010104c5 +int attr fragmentSharedElementEnterTransition 0x010104c4 +int attr fragmentSharedElementReturnTransition 0x010104c6 +int attr freezesText 0x0101016c +int attr fromAlpha 0x010101ca +int attr fromDegrees 0x010101b3 +int attr fromId 0x0101044a +int attr fromScene 0x010103dd +int attr fromXDelta 0x010101c6 +int attr fromXScale 0x010101c2 +int attr fromYDelta 0x010101c8 +int attr fromYScale 0x010101c4 +int attr fullBackupContent 0x010104eb +int attr fullBackupOnly 0x01010473 +int attr fullBright 0x010100ca +int attr fullDark 0x010100c6 +int attr functionalTest 0x01010023 +int attr galleryItemBackground 0x0101004c +int attr galleryStyle 0x01010070 +int attr gestureColor 0x01010275 +int attr gestureStrokeAngleThreshold 0x0101027c +int attr gestureStrokeLengthThreshold 0x0101027a +int attr gestureStrokeSquarenessThreshold 0x0101027b +int attr gestureStrokeType 0x01010279 +int attr gestureStrokeWidth 0x01010274 +int attr glEsVersion 0x01010281 +int attr goIcon 0x01010482 +int attr gradientRadius 0x010101a4 +int attr grantUriPermissions 0x0101001b +int attr gravity 0x010100af +int attr gridViewStyle 0x01010071 +int attr groupIndicator 0x0101010b +int attr hand_hour 0x01010103 +int attr hand_minute 0x01010104 +int attr handle 0x0101025a +int attr handleProfiling 0x01010022 +int attr hapticFeedbackEnabled 0x0101025e +int attr hardwareAccelerated 0x010102d3 +int attr hasCode 0x0101000c +int attr headerAmPmTextAppearance 0x010104a0 +int attr headerBackground 0x0101012f +int attr headerDayOfMonthTextAppearance 0x01010497 +int attr headerDividersEnabled 0x0101022e +int attr headerMonthTextAppearance 0x01010496 +int attr headerTimeTextAppearance 0x0101049f +int attr headerYearTextAppearance 0x01010498 +int attr height 0x01010155 +int attr hideOnContentScroll 0x01010443 +int attr hint 0x01010150 +int attr homeAsUpIndicator 0x0101030b +int attr homeLayout 0x0101031d +int attr horizontalDivider 0x0101012d +int attr horizontalGap 0x0101023f +int attr horizontalScrollViewStyle 0x01010353 +int attr horizontalSpacing 0x01010114 +int attr host 0x01010028 +int attr hotSpotX 0x01010517 +int attr hotSpotY 0x01010518 +int attr hyphenationFrequency 0x010104de +int attr icon 0x01010002 +int attr iconPreview 0x01010249 +int attr iconSpaceReserved 0x01010561 +int attr iconTint 0x0101055e +int attr iconTintMode 0x0101055f +int attr iconifiedByDefault 0x010102fa +int attr id 0x010100d0 +int attr ignoreGravity 0x010101ff +int attr imageButtonStyle 0x01010072 +int attr imageWellStyle 0x01010073 +int attr imeActionId 0x01010266 +int attr imeActionLabel 0x01010265 +int attr imeExtractEnterAnimation 0x01010268 +int attr imeExtractExitAnimation 0x01010269 +int attr imeFullscreenBackground 0x0101022c +int attr imeOptions 0x01010264 +int attr imeSubtypeExtraValue 0x010102ee +int attr imeSubtypeLocale 0x010102ec +int attr imeSubtypeMode 0x010102ed +int attr immersive 0x010102c0 +int attr importantForAccessibility 0x010103aa +int attr importantForAutofill 0x01010558 +int attr inAnimation 0x01010177 +int attr includeFontPadding 0x0101015f +int attr includeInGlobalSearch 0x0101026e +int attr indeterminate 0x01010139 +int attr indeterminateBehavior 0x0101013e +int attr indeterminateDrawable 0x0101013b +int attr indeterminateDuration 0x0101013d +int attr indeterminateOnly 0x0101013a +int attr indeterminateProgressStyle 0x01010318 +int attr indeterminateTint 0x01010469 +int attr indeterminateTintMode 0x0101046a +int attr indicatorEnd 0x010103d2 +int attr indicatorLeft 0x0101010d +int attr indicatorRight 0x0101010e +int attr indicatorStart 0x010103d1 +int attr inflatedId 0x010100f3 +int attr initOrder 0x0101001a +int attr initialKeyguardLayout 0x010103c2 +int attr initialLayout 0x01010251 +int attr innerRadius 0x0101025f +int attr innerRadiusRatio 0x0101019b +int attr inputMethod 0x01010168 +int attr inputType 0x01010220 +int attr inset 0x010104b5 +int attr insetBottom 0x010101ba +int attr insetLeft 0x010101b7 +int attr insetRight 0x010101b8 +int attr insetTop 0x010101b9 +int attr installLocation 0x010102b7 +int attr interpolator 0x01010141 +int attr isAlwaysSyncable 0x01010333 +int attr isAsciiCapable 0x010103e9 +int attr isAuxiliary 0x0101037f +int attr isDefault 0x01010221 +int attr isFeatureSplit 0x0101055b +int attr isGame 0x010103f4 +int attr isIndicator 0x01010147 +int attr isModifier 0x01010246 +int attr isRepeatable 0x01010248 +int attr isScrollContainer 0x0101024e +int attr isStatic 0x0101055a +int attr isSticky 0x01010247 +int attr isolatedProcess 0x010103a9 +int attr isolatedSplits 0x0101054b +int attr itemBackground 0x01010130 +int attr itemIconDisabledAlpha 0x01010131 +int attr itemPadding 0x0101032d +int attr itemTextAppearance 0x0101012c +int attr justificationMode 0x01010567 +int attr keepScreenOn 0x01010216 +int attr key 0x010101e8 +int attr keyBackground 0x01010233 +int attr keyEdgeFlags 0x01010245 +int attr keyHeight 0x0101023e +int attr keyIcon 0x0101024c +int attr keyLabel 0x0101024b +int attr keyOutputText 0x0101024a +int attr keyPreviewHeight 0x01010239 +int attr keyPreviewLayout 0x01010237 +int attr keyPreviewOffset 0x01010238 +int attr keySet 0x010103db +int attr keyTextColor 0x01010236 +int attr keyTextSize 0x01010234 +int attr keyWidth 0x0101023d +int attr keyboardLayout 0x010103ab +int attr keyboardMode 0x0101024d +int attr keyboardNavigationCluster 0x01010540 +int attr keycode 0x010100c5 +int attr killAfterRestore 0x0101029c +int attr label 0x01010001 +int attr labelFor 0x010103c6 +int attr labelTextSize 0x01010235 +int attr languageTag 0x01010508 +int attr largeHeap 0x0101035a +int attr largeScreens 0x01010286 +int attr largestWidthLimitDp 0x01010366 +int attr launchMode 0x0101001d +int attr launchTaskBehindSourceAnimation 0x01010492 +int attr launchTaskBehindTargetAnimation 0x01010491 +int attr layerType 0x01010354 +int attr layout 0x010100f2 +int attr layoutAnimation 0x010100ec +int attr layoutDirection 0x010103b2 +int attr layoutMode 0x010103da +int attr layout_above 0x01010184 +int attr layout_alignBaseline 0x01010186 +int attr layout_alignBottom 0x0101018a +int attr layout_alignEnd 0x010103ba +int attr layout_alignLeft 0x01010187 +int attr layout_alignParentBottom 0x0101018e +int attr layout_alignParentEnd 0x010103bc +int attr layout_alignParentLeft 0x0101018b +int attr layout_alignParentRight 0x0101018d +int attr layout_alignParentStart 0x010103bb +int attr layout_alignParentTop 0x0101018c +int attr layout_alignRight 0x01010189 +int attr layout_alignStart 0x010103b9 +int attr layout_alignTop 0x01010188 +int attr layout_alignWithParentIfMissing 0x01010192 +int attr layout_below 0x01010185 +int attr layout_centerHorizontal 0x01010190 +int attr layout_centerInParent 0x0101018f +int attr layout_centerVertical 0x01010191 +int attr layout_column 0x0101014c +int attr layout_columnSpan 0x0101037d +int attr layout_columnWeight 0x01010459 +int attr layout_gravity 0x010100b3 +int attr layout_height 0x010100f5 +int attr layout_margin 0x010100f6 +int attr layout_marginBottom 0x010100fa +int attr layout_marginEnd 0x010103b6 +int attr layout_marginHorizontal 0x0101053b +int attr layout_marginLeft 0x010100f7 +int attr layout_marginRight 0x010100f9 +int attr layout_marginStart 0x010103b5 +int attr layout_marginTop 0x010100f8 +int attr layout_marginVertical 0x0101053c +int attr layout_row 0x0101037b +int attr layout_rowSpan 0x0101037c +int attr layout_rowWeight 0x01010458 +int attr layout_scale 0x01010193 +int attr layout_span 0x0101014d +int attr layout_toEndOf 0x010103b8 +int attr layout_toLeftOf 0x01010182 +int attr layout_toRightOf 0x01010183 +int attr layout_toStartOf 0x010103b7 +int attr layout_weight 0x01010181 +int attr layout_width 0x010100f4 +int attr layout_x 0x0101017f +int attr layout_y 0x01010180 +int attr left 0x010101ad +int attr letterSpacing 0x010104b6 +int attr level 0x01010500 +int attr lineSpacingExtra 0x01010217 +int attr lineSpacingMultiplier 0x01010218 +int attr lines 0x01010154 +int attr linksClickable 0x010100b1 +int attr listChoiceBackgroundIndicator 0x010102f0 +int attr listChoiceIndicatorMultiple 0x0101021a +int attr listChoiceIndicatorSingle 0x01010219 +int attr listDivider 0x01010214 +int attr listDividerAlertDialog 0x01010305 +int attr listMenuViewStyle 0x010104f2 +int attr listPopupWindowStyle 0x010102ff +int attr listPreferredItemHeight 0x0101004d +int attr listPreferredItemHeightLarge 0x01010386 +int attr listPreferredItemHeightSmall 0x01010387 +int attr listPreferredItemPaddingEnd 0x010103be +int attr listPreferredItemPaddingLeft 0x010103a3 +int attr listPreferredItemPaddingRight 0x010103a4 +int attr listPreferredItemPaddingStart 0x010103bd +int attr listSelector 0x010100fb +int attr listSeparatorTextViewStyle 0x01010208 +int attr listViewStyle 0x01010074 +int attr listViewWhiteStyle 0x01010075 +int attr lockTaskMode 0x010104ed +int attr logo 0x010102be +int attr logoDescription 0x010104e9 +int attr longClickable 0x010100e6 +int attr loopViews 0x01010307 +int attr manageSpaceActivity 0x01010004 +int attr mapViewStyle 0x0101008a +int attr marqueeRepeatLimit 0x0101021d +int attr matchOrder 0x0101044f +int attr max 0x01010136 +int attr maxAspectRatio 0x01010560 +int attr maxButtonHeight 0x010104fd +int attr maxDate 0x01010340 +int attr maxEms 0x01010157 +int attr maxHeight 0x01010120 +int attr maxItemsPerRow 0x01010134 +int attr maxLength 0x01010160 +int attr maxLevel 0x010101b2 +int attr maxLines 0x01010153 +int attr maxRecents 0x01010446 +int attr maxRows 0x01010133 +int attr maxSdkVersion 0x01010271 +int attr maxWidth 0x0101011f +int attr maximumAngle 0x0101047f +int attr measureAllChildren 0x0101010a +int attr measureWithLargestChild 0x010102d4 +int attr mediaRouteButtonStyle 0x010103ad +int attr mediaRouteTypes 0x010103ae +int attr menuCategory 0x010101de +int attr mimeType 0x01010026 +int attr min 0x01010539 +int attr minDate 0x0101033f +int attr minEms 0x0101015a +int attr minHeight 0x01010140 +int attr minLevel 0x010101b1 +int attr minLines 0x01010156 +int attr minResizeHeight 0x01010396 +int attr minResizeWidth 0x01010395 +int attr minSdkVersion 0x0101020c +int attr minWidth 0x0101013f +int attr minimumHorizontalAngle 0x0101047d +int attr minimumVerticalAngle 0x0101047e +int attr mipMap 0x010103cd +int attr mirrorForRtl 0x010103ce +int attr mode 0x0101017e +int attr moreIcon 0x01010135 +int attr multiArch 0x0101048e +int attr multiprocess 0x01010013 +int attr name 0x01010003 +int attr navigationBarColor 0x01010452 +int attr navigationContentDescription 0x010104c1 +int attr navigationIcon 0x010104c0 +int attr navigationMode 0x010102cf +int attr negativeButtonText 0x010101f6 +int attr nestedScrollingEnabled 0x01010436 +int attr networkSecurityConfig 0x01010527 +int attr nextClusterForward 0x01010542 +int attr nextFocusDown 0x010100e4 +int attr nextFocusForward 0x0101033c +int attr nextFocusLeft 0x010100e1 +int attr nextFocusRight 0x010100e2 +int attr nextFocusUp 0x010100e3 +int attr noHistory 0x0101022d +int attr normalScreens 0x01010285 +int attr notificationTimeout 0x01010383 +int attr numColumns 0x01010118 +int attr numStars 0x01010144 +int attr numberPickerStyle 0x01010524 +int attr numbersBackgroundColor 0x010104a2 +int attr numbersInnerTextColor 0x010104e1 +int attr numbersSelectorColor 0x010104a3 +int attr numbersTextColor 0x010104a1 +int attr numeric 0x01010165 +int attr numericModifiers 0x0101054f +int attr numericShortcut 0x010101e4 +int attr offset 0x01010514 +int attr onClick 0x0101026f +int attr oneshot 0x01010197 +int attr opacity 0x0101031e +int attr order 0x010101ea +int attr orderInCategory 0x010101df +int attr ordering 0x010102e2 +int attr orderingFromXml 0x010101e7 +int attr orientation 0x010100c4 +int attr outAnimation 0x01010178 +int attr outlineProvider 0x010104b8 +int attr overScrollFooter 0x010102c3 +int attr overScrollHeader 0x010102c2 +int attr overScrollMode 0x010102c1 +int attr overlapAnchor 0x01010462 +int attr overridesImplicitlyEnabledSubtype 0x010103a2 +int attr packageNames 0x01010381 +int attr padding 0x010100d5 +int attr paddingBottom 0x010100d9 +int attr paddingEnd 0x010103b4 +int attr paddingHorizontal 0x0101053d +int attr paddingLeft 0x010100d6 +int attr paddingMode 0x01010457 +int attr paddingRight 0x010100d8 +int attr paddingStart 0x010103b3 +int attr paddingTop 0x010100d7 +int attr paddingVertical 0x0101053e +int attr panelBackground 0x0101005e +int attr panelColorBackground 0x01010061 +int attr panelColorForeground 0x01010060 +int attr panelFullBackground 0x0101005f +int attr panelTextAppearance 0x01010062 +int attr parentActivityName 0x010103a7 +int attr password 0x0101015c +int attr path 0x0101002a +int attr pathData 0x01010405 +int attr pathPattern 0x0101002c +int attr pathPrefix 0x0101002b +int attr patternPathData 0x010104ca +int attr permission 0x01010006 +int attr permissionFlags 0x010103c7 +int attr permissionGroup 0x0101000a +int attr permissionGroupFlags 0x010103c5 +int attr persistableMode 0x0101042d +int attr persistent 0x0101000d +int attr persistentDrawingCache 0x010100ee +int attr persistentWhenFeatureAvailable 0x01010563 +int attr phoneNumber 0x01010167 +int attr pivotX 0x010101b5 +int attr pivotY 0x010101b6 +int attr pointerIcon 0x01010509 +int attr popupAnimationStyle 0x010102c9 +int attr popupBackground 0x01010176 +int attr popupCharacters 0x01010244 +int attr popupElevation 0x0101048c +int attr popupEnterTransition 0x0101051f +int attr popupExitTransition 0x01010520 +int attr popupKeyboard 0x01010243 +int attr popupLayout 0x0101023b +int attr popupMenuStyle 0x01010300 +int attr popupTheme 0x010104a9 +int attr popupWindowStyle 0x01010076 +int attr port 0x01010029 +int attr positiveButtonText 0x010101f5 +int attr preferenceCategoryStyle 0x0101008c +int attr preferenceFragmentStyle 0x01010506 +int attr preferenceInformationStyle 0x0101008d +int attr preferenceLayoutChild 0x01010094 +int attr preferenceScreenStyle 0x0101008b +int attr preferenceStyle 0x0101008e +int attr presentationTheme 0x010103c0 +int attr previewImage 0x010102da +int attr primaryContentAlpha 0x01010552 +int attr priority 0x0101001c +int attr privateImeOptions 0x01010223 +int attr process 0x01010011 +int attr progress 0x01010137 +int attr progressBackgroundTint 0x01010465 +int attr progressBackgroundTintMode 0x01010466 +int attr progressBarPadding 0x01010319 +int attr progressBarStyle 0x01010077 +int attr progressBarStyleHorizontal 0x01010078 +int attr progressBarStyleInverse 0x01010287 +int attr progressBarStyleLarge 0x0101007a +int attr progressBarStyleLargeInverse 0x01010289 +int attr progressBarStyleSmall 0x01010079 +int attr progressBarStyleSmallInverse 0x01010288 +int attr progressBarStyleSmallTitle 0x0101020f +int attr progressDrawable 0x0101013c +int attr progressTint 0x01010463 +int attr progressTintMode 0x01010464 +int attr prompt 0x0101017b +int attr propertyName 0x010102e1 +int attr propertyXName 0x01010474 +int attr propertyYName 0x01010475 +int attr protectionLevel 0x01010009 +int attr publicKey 0x010103a6 +int attr queryActionMsg 0x010101db +int attr queryAfterZeroResults 0x01010282 +int attr queryBackground 0x01010487 +int attr queryHint 0x01010358 +int attr quickContactBadgeStyleSmallWindowLarge 0x010102b3 +int attr quickContactBadgeStyleSmallWindowMedium 0x010102b2 +int attr quickContactBadgeStyleSmallWindowSmall 0x010102b1 +int attr quickContactBadgeStyleWindowLarge 0x010102b0 +int attr quickContactBadgeStyleWindowMedium 0x010102af +int attr quickContactBadgeStyleWindowSmall 0x010102ae +int attr radioButtonStyle 0x0101007e +int attr radius 0x010101a8 +int attr rating 0x01010145 +int attr ratingBarStyle 0x0101007c +int attr ratingBarStyleIndicator 0x01010210 +int attr ratingBarStyleSmall 0x0101007d +int attr readPermission 0x01010007 +int attr recognitionService 0x0101049c +int attr recreateOnConfigChanges 0x01010547 +int attr recycleEnabled 0x01010559 +int attr relinquishTaskIdentity 0x01010476 +int attr reparent 0x010104bc +int attr reparentWithOverlay 0x010104bd +int attr repeatCount 0x010101bf +int attr repeatMode 0x010101c0 +int attr reqFiveWayNav 0x01010232 +int attr reqHardKeyboard 0x01010229 +int attr reqKeyboardType 0x01010228 +int attr reqNavigation 0x0101022a +int attr reqTouchScreen 0x01010227 +int attr requireDeviceUnlock 0x010103ec +int attr required 0x0101028e +int attr requiredAccountType 0x010103d6 +int attr requiredFeature 0x01010554 +int attr requiredForAllUsers 0x010103d0 +int attr requiredNotFeature 0x01010555 +int attr requiresFadingEdge 0x010103a5 +int attr requiresSmallestWidthDp 0x01010364 +int attr resizeClip 0x010104cf +int attr resizeMode 0x01010363 +int attr resizeable 0x0101028d +int attr resizeableActivity 0x010104f6 +int attr resource 0x01010025 +int attr restoreAnyVersion 0x010102ba +int attr restoreNeedsApplication 0x0101029d +int attr restrictedAccountType 0x010103d5 +int attr restrictionType 0x01010493 +int attr resumeWhilePausing 0x010104b2 +int attr reversible 0x0101044b +int attr revisionCode 0x010104d5 +int attr right 0x010101af +int attr ringtonePreferenceStyle 0x01010093 +int attr ringtoneType 0x010101f9 +int attr rotation 0x01010326 +int attr rotationAnimation 0x0101053a +int attr rotationX 0x01010327 +int attr rotationY 0x01010328 +int attr roundIcon 0x0101052c +int attr rowCount 0x01010375 +int attr rowDelay 0x010101d0 +int attr rowEdgeFlags 0x01010241 +int attr rowHeight 0x01010132 +int attr rowOrderPreserved 0x01010376 +int attr saveEnabled 0x010100e7 +int attr scaleGravity 0x010101fe +int attr scaleHeight 0x010101fd +int attr scaleType 0x0101011d +int attr scaleWidth 0x010101fc +int attr scaleX 0x01010324 +int attr scaleY 0x01010325 +int attr scheme 0x01010027 +int attr screenDensity 0x010102cb +int attr screenOrientation 0x0101001e +int attr screenSize 0x010102ca +int attr scrollHorizontally 0x0101015b +int attr scrollIndicators 0x010104e6 +int attr scrollViewStyle 0x01010080 +int attr scrollX 0x010100d2 +int attr scrollY 0x010100d3 +int attr scrollbarAlwaysDrawHorizontalTrack 0x01010068 +int attr scrollbarAlwaysDrawVerticalTrack 0x01010069 +int attr scrollbarDefaultDelayBeforeFade 0x010102a9 +int attr scrollbarFadeDuration 0x010102a8 +int attr scrollbarSize 0x01010063 +int attr scrollbarStyle 0x0101007f +int attr scrollbarThumbHorizontal 0x01010064 +int attr scrollbarThumbVertical 0x01010065 +int attr scrollbarTrackHorizontal 0x01010066 +int attr scrollbarTrackVertical 0x01010067 +int attr scrollbars 0x010100de +int attr scrollingCache 0x010100fe +int attr searchButtonText 0x01010205 +int attr searchHintIcon 0x010104d4 +int attr searchIcon 0x01010483 +int attr searchMode 0x010101d5 +int attr searchSettingsDescription 0x0101028a +int attr searchSuggestAuthority 0x010101d6 +int attr searchSuggestIntentAction 0x010101d9 +int attr searchSuggestIntentData 0x010101da +int attr searchSuggestPath 0x010101d7 +int attr searchSuggestSelection 0x010101d8 +int attr searchSuggestThreshold 0x0101026d +int attr searchViewStyle 0x01010480 +int attr secondaryContentAlpha 0x01010553 +int attr secondaryProgress 0x01010138 +int attr secondaryProgressTint 0x01010467 +int attr secondaryProgressTintMode 0x01010468 +int attr seekBarStyle 0x0101007b +int attr segmentedButtonStyle 0x01010330 +int attr selectAllOnFocus 0x0101015e +int attr selectable 0x010101e6 +int attr selectableItemBackground 0x0101030e +int attr selectableItemBackgroundBorderless 0x0101045c +int attr selectedDateVerticalBar 0x01010347 +int attr selectedWeekBackgroundColor 0x01010342 +int attr sessionService 0x0101043d +int attr settingsActivity 0x01010225 +int attr setupActivity 0x010103f6 +int attr shadowColor 0x01010161 +int attr shadowDx 0x01010162 +int attr shadowDy 0x01010163 +int attr shadowRadius 0x01010164 +int attr shape 0x0101019a +int attr shareInterpolator 0x010101bb +int attr sharedUserId 0x0101000b +int attr sharedUserLabel 0x01010261 +int attr shortcutDisabledMessage 0x0101052b +int attr shortcutId 0x01010528 +int attr shortcutLongLabel 0x0101052a +int attr shortcutShortLabel 0x01010529 +int attr shouldDisableView 0x010101ee +int attr showAsAction 0x010102d9 +int attr showDefault 0x010101fa +int attr showDividers 0x01010329 +int attr showForAllUsers 0x010104ef +int attr showMetadataInPreview 0x0101052f +int attr showOnLockScreen 0x010103c9 +int attr showSilent 0x010101fb +int attr showText 0x010104ad +int attr showWeekNumber 0x0101033e +int attr shownWeekCount 0x01010341 +int attr shrinkColumns 0x0101014a +int attr singleLine 0x0101015d +int attr singleLineTitle 0x0101055c +int attr singleUser 0x010103bf +int attr slideEdge 0x01010430 +int attr smallIcon 0x0101029e +int attr smallScreens 0x01010284 +int attr smoothScrollbar 0x01010231 +int attr soundEffectsEnabled 0x01010215 +int attr spacing 0x01010113 +int attr spinnerDropDownItemStyle 0x01010087 +int attr spinnerItemStyle 0x01010089 +int attr spinnerMode 0x010102f1 +int attr spinnerStyle 0x01010081 +int attr spinnersShown 0x0101034b +int attr splitMotionEvents 0x010102ef +int attr splitName 0x01010549 +int attr splitTrack 0x0101044c +int attr spotShadowAlpha 0x010104bf +int attr src 0x01010119 +int attr ssp 0x010103e3 +int attr sspPattern 0x010103e5 +int attr sspPrefix 0x010103e4 +int attr stackFromBottom 0x010100fd +int attr stackViewStyle 0x0101043e +int attr starStyle 0x01010082 +int attr start 0x010104db +int attr startColor 0x0101019d +int attr startDelay 0x010103e2 +int attr startOffset 0x010101be +int attr startX 0x01010510 +int attr startY 0x01010511 +int attr startYear 0x0101017c +int attr stateListAnimator 0x01010448 +int attr stateNotNeeded 0x01010016 +int attr state_above_anchor 0x010100aa +int attr state_accelerated 0x0101031b +int attr state_activated 0x010102fe +int attr state_active 0x010100a2 +int attr state_checkable 0x0101009f +int attr state_checked 0x010100a0 +int attr state_drag_can_accept 0x01010368 +int attr state_drag_hovered 0x01010369 +int attr state_empty 0x010100a9 +int attr state_enabled 0x0101009e +int attr state_expanded 0x010100a8 +int attr state_first 0x010100a4 +int attr state_focused 0x0101009c +int attr state_hovered 0x01010367 +int attr state_last 0x010100a6 +int attr state_long_pressable 0x0101023c +int attr state_middle 0x010100a5 +int attr state_multiline 0x0101034d +int attr state_pressed 0x010100a7 +int attr state_selected 0x010100a1 +int attr state_single 0x010100a3 +int attr state_window_focused 0x0101009d +int attr staticWallpaperPreview 0x01010331 +int attr statusBarColor 0x01010451 +int attr stepSize 0x01010146 +int attr stopWithTask 0x0101036a +int attr streamType 0x01010209 +int attr stretchColumns 0x01010149 +int attr stretchMode 0x01010116 +int attr strokeAlpha 0x010104cb +int attr strokeColor 0x01010406 +int attr strokeLineCap 0x0101040b +int attr strokeLineJoin 0x0101040c +int attr strokeMiterLimit 0x0101040d +int attr strokeWidth 0x01010407 +int attr subMenuArrow 0x010104f3 +int attr submitBackground 0x01010488 +int attr subtitle 0x010102d1 +int attr subtitleTextAppearance 0x0101042f +int attr subtitleTextColor 0x010104e4 +int attr subtitleTextStyle 0x010102f9 +int attr subtypeExtraValue 0x0101039a +int attr subtypeId 0x010103c1 +int attr subtypeLocale 0x01010399 +int attr suggestActionMsg 0x010101dc +int attr suggestActionMsgColumn 0x010101dd +int attr suggestionRowLayout 0x01010486 +int attr summary 0x010101e9 +int attr summaryColumn 0x010102a2 +int attr summaryOff 0x010101f0 +int attr summaryOn 0x010101ef +int attr supportsAssist 0x010104f0 +int attr supportsLaunchVoiceAssistFromKeyguard 0x010104f1 +int attr supportsLocalInteraction 0x0101050f +int attr supportsPictureInPicture 0x010104f7 +int attr supportsRtl 0x010103af +int attr supportsSwitchingToNextInputMethod 0x010103eb +int attr supportsUploading 0x0101029b +int attr switchMinWidth 0x01010370 +int attr switchPadding 0x01010371 +int attr switchPreferenceStyle 0x0101036d +int attr switchStyle 0x0101043f +int attr switchTextAppearance 0x0101036e +int attr switchTextOff 0x0101036c +int attr switchTextOn 0x0101036b +int attr syncable 0x01010019 +int attr tabStripEnabled 0x010102bd +int attr tabStripLeft 0x010102bb +int attr tabStripRight 0x010102bc +int attr tabWidgetStyle 0x01010083 +int attr tag 0x010100d1 +int attr targetActivity 0x01010202 +int attr targetClass 0x0101002f +int attr targetDescriptions 0x010103a0 +int attr targetId 0x010103dc +int attr targetName 0x0101044d +int attr targetPackage 0x01010021 +int attr targetProcesses 0x01010541 +int attr targetSandboxVersion 0x0101054c +int attr targetSdkVersion 0x01010270 +int attr taskAffinity 0x01010012 +int attr taskCloseEnterAnimation 0x010100be +int attr taskCloseExitAnimation 0x010100bf +int attr taskOpenEnterAnimation 0x010100bc +int attr taskOpenExitAnimation 0x010100bd +int attr taskToBackEnterAnimation 0x010100c2 +int attr taskToBackExitAnimation 0x010100c3 +int attr taskToFrontEnterAnimation 0x010100c0 +int attr taskToFrontExitAnimation 0x010100c1 +int attr tension 0x0101026a +int attr testOnly 0x01010272 +int attr text 0x0101014f +int attr textAlignment 0x010103b1 +int attr textAllCaps 0x0101038c +int attr textAppearance 0x01010034 +int attr textAppearanceButton 0x01010207 +int attr textAppearanceInverse 0x01010035 +int attr textAppearanceLarge 0x01010040 +int attr textAppearanceLargeInverse 0x01010043 +int attr textAppearanceLargePopupMenu 0x01010301 +int attr textAppearanceListItem 0x0101039e +int attr textAppearanceListItemSecondary 0x01010432 +int attr textAppearanceListItemSmall 0x0101039f +int attr textAppearanceMedium 0x01010041 +int attr textAppearanceMediumInverse 0x01010044 +int attr textAppearancePopupMenuHeader 0x01010502 +int attr textAppearanceSearchResultSubtitle 0x010102a0 +int attr textAppearanceSearchResultTitle 0x010102a1 +int attr textAppearanceSmall 0x01010042 +int attr textAppearanceSmallInverse 0x01010045 +int attr textAppearanceSmallPopupMenu 0x01010302 +int attr textCheckMark 0x01010046 +int attr textCheckMarkInverse 0x01010047 +int attr textColor 0x01010098 +int attr textColorAlertDialogListItem 0x01010306 +int attr textColorHighlight 0x01010099 +int attr textColorHighlightInverse 0x0101034f +int attr textColorHint 0x0101009a +int attr textColorHintInverse 0x0101003f +int attr textColorLink 0x0101009b +int attr textColorLinkInverse 0x01010350 +int attr textColorPrimary 0x01010036 +int attr textColorPrimaryDisableOnly 0x01010037 +int attr textColorPrimaryInverse 0x01010039 +int attr textColorPrimaryInverseDisableOnly 0x0101028b +int attr textColorPrimaryInverseNoDisable 0x0101003d +int attr textColorPrimaryNoDisable 0x0101003b +int attr textColorSecondary 0x01010038 +int attr textColorSecondaryInverse 0x0101003a +int attr textColorSecondaryInverseNoDisable 0x0101003e +int attr textColorSecondaryNoDisable 0x0101003c +int attr textColorTertiary 0x01010212 +int attr textColorTertiaryInverse 0x01010213 +int attr textCursorDrawable 0x01010362 +int attr textDirection 0x010103b0 +int attr textEditNoPasteWindowLayout 0x01010315 +int attr textEditPasteWindowLayout 0x01010314 +int attr textEditSideNoPasteWindowLayout 0x0101035f +int attr textEditSidePasteWindowLayout 0x0101035e +int attr textEditSuggestionItemLayout 0x01010374 +int attr textFilterEnabled 0x010100ff +int attr textIsSelectable 0x01010316 +int attr textOff 0x01010125 +int attr textOn 0x01010124 +int attr textScaleX 0x01010151 +int attr textSelectHandle 0x010102c7 +int attr textSelectHandleLeft 0x010102c5 +int attr textSelectHandleRight 0x010102c6 +int attr textSelectHandleWindowStyle 0x010102c8 +int attr textSize 0x01010095 +int attr textStyle 0x01010097 +int attr textSuggestionsWindowStyle 0x01010373 +int attr textViewStyle 0x01010084 +int attr theme 0x01010000 +int attr thickness 0x01010260 +int attr thicknessRatio 0x0101019c +int attr thumb 0x01010142 +int attr thumbOffset 0x01010143 +int attr thumbPosition 0x010104e5 +int attr thumbTextPadding 0x01010372 +int attr thumbTint 0x01010471 +int attr thumbTintMode 0x01010472 +int attr thumbnail 0x010102a5 +int attr tickMark 0x0101050a +int attr tickMarkTint 0x0101050b +int attr tickMarkTintMode 0x0101050c +int attr tileMode 0x01010201 +int attr tileModeX 0x01010477 +int attr tileModeY 0x01010478 +int attr timePickerDialogTheme 0x0101049e +int attr timePickerMode 0x010104b4 +int attr timePickerStyle 0x0101049d +int attr timeZone 0x010103cc +int attr tint 0x01010121 +int attr tintMode 0x010103fb +int attr title 0x010101e1 +int attr titleCondensed 0x010101e2 +int attr titleMargin 0x010104f8 +int attr titleMarginBottom 0x010104fc +int attr titleMarginEnd 0x010104fa +int attr titleMarginStart 0x010104f9 +int attr titleMarginTop 0x010104fb +int attr titleTextAppearance 0x0101042e +int attr titleTextColor 0x010104e3 +int attr titleTextStyle 0x010102f8 +int attr toAlpha 0x010101cb +int attr toDegrees 0x010101b4 +int attr toId 0x01010449 +int attr toScene 0x010103de +int attr toXDelta 0x010101c7 +int attr toXScale 0x010101c3 +int attr toYDelta 0x010101c9 +int attr toYScale 0x010101c5 +int attr toolbarStyle 0x010104aa +int attr tooltipText 0x01010534 +int attr top 0x010101ae +int attr topBright 0x010100cb +int attr topDark 0x010100c7 +int attr topLeftRadius 0x010101a9 +int attr topOffset 0x01010258 +int attr topRightRadius 0x010101aa +int attr touchscreenBlocksFocus 0x0101048f +int attr track 0x0101036f +int attr trackTint 0x010104d9 +int attr trackTintMode 0x010104da +int attr transcriptMode 0x01010100 +int attr transformPivotX 0x01010320 +int attr transformPivotY 0x01010321 +int attr transition 0x010103df +int attr transitionGroup 0x01010401 +int attr transitionName 0x01010400 +int attr transitionOrdering 0x010103e0 +int attr transitionVisibilityMode 0x0101047c +int attr translateX 0x0101045a +int attr translateY 0x0101045b +int attr translationX 0x01010322 +int attr translationY 0x01010323 +int attr translationZ 0x010103fa +int attr trimPathEnd 0x01010409 +int attr trimPathOffset 0x0101040a +int attr trimPathStart 0x01010408 +int attr tunerCount 0x0101051d +int attr type 0x010101a1 +int attr typeface 0x01010096 +int attr uiOptions 0x01010398 +int attr uncertainGestureColor 0x01010276 +int attr unfocusedMonthDateColor 0x01010344 +int attr unselectedAlpha 0x0101020e +int attr updatePeriodMillis 0x01010250 +int attr use32bitAbi 0x01010515 +int attr useDefaultMargins 0x01010379 +int attr useIntrinsicSizeAsMinimum 0x01010310 +int attr useLevel 0x0101019f +int attr userVisible 0x01010291 +int attr usesCleartextTraffic 0x010104ec +int attr value 0x01010024 +int attr valueFrom 0x010102de +int attr valueTo 0x010102df +int attr valueType 0x010102e0 +int attr variablePadding 0x01010195 +int attr vendor 0x010103e7 +int attr version 0x01010519 +int attr versionCode 0x0101021b +int attr versionName 0x0101021c +int attr verticalCorrection 0x0101023a +int attr verticalDivider 0x0101012e +int attr verticalGap 0x01010240 +int attr verticalScrollbarPosition 0x01010334 +int attr verticalSpacing 0x01010115 +int attr viewportHeight 0x01010403 +int attr viewportWidth 0x01010402 +int attr visibility 0x010100dc +int attr visible 0x01010194 +int attr visibleToInstantApps 0x01010531 +int attr vmSafeMode 0x010102b8 +int attr voiceIcon 0x01010484 +int attr voiceLanguage 0x01010255 +int attr voiceLanguageModel 0x01010253 +int attr voiceMaxResults 0x01010256 +int attr voicePromptText 0x01010254 +int attr voiceSearchMode 0x01010252 +int attr wallpaperCloseEnterAnimation 0x01010295 +int attr wallpaperCloseExitAnimation 0x01010296 +int attr wallpaperIntraCloseEnterAnimation 0x01010299 +int attr wallpaperIntraCloseExitAnimation 0x0101029a +int attr wallpaperIntraOpenEnterAnimation 0x01010297 +int attr wallpaperIntraOpenExitAnimation 0x01010298 +int attr wallpaperOpenEnterAnimation 0x01010293 +int attr wallpaperOpenExitAnimation 0x01010294 +int attr webTextViewStyle 0x010102b9 +int attr webViewStyle 0x01010085 +int attr weekDayTextAppearance 0x01010348 +int attr weekNumberColor 0x01010345 +int attr weekSeparatorLineColor 0x01010346 +int attr weightSum 0x01010128 +int attr widgetCategory 0x010103c4 +int attr widgetLayout 0x010101eb +int attr width 0x01010159 +int attr windowActionBar 0x010102cd +int attr windowActionBarOverlay 0x010102e4 +int attr windowActionModeOverlay 0x010102dd +int attr windowActivityTransitions 0x010104cd +int attr windowAllowEnterTransitionOverlap 0x0101043c +int attr windowAllowReturnTransitionOverlap 0x0101043b +int attr windowAnimationStyle 0x010100ae +int attr windowBackground 0x01010054 +int attr windowBackgroundFallback 0x01010503 +int attr windowClipToOutline 0x010104ab +int attr windowCloseOnTouchOutside 0x0101035b +int attr windowContentOverlay 0x01010059 +int attr windowContentTransitionManager 0x010103f9 +int attr windowContentTransitions 0x010103f8 +int attr windowDisablePreview 0x01010222 +int attr windowDrawsSystemBarBackgrounds 0x01010450 +int attr windowElevation 0x01010490 +int attr windowEnableSplitTouch 0x01010317 +int attr windowEnterAnimation 0x010100b4 +int attr windowEnterTransition 0x01010437 +int attr windowExitAnimation 0x010100b5 +int attr windowExitTransition 0x01010438 +int attr windowFrame 0x01010055 +int attr windowFullscreen 0x0101020d +int attr windowHideAnimation 0x010100b7 +int attr windowIsFloating 0x01010057 +int attr windowIsTranslucent 0x01010058 +int attr windowLightStatusBar 0x010104e0 +int attr windowMinWidthMajor 0x01010356 +int attr windowMinWidthMinor 0x01010357 +int attr windowNoDisplay 0x0101021e +int attr windowNoTitle 0x01010056 +int attr windowOverscan 0x010103cf +int attr windowReenterTransition 0x010104af +int attr windowReturnTransition 0x010104ae +int attr windowSharedElementEnterTransition 0x01010439 +int attr windowSharedElementExitTransition 0x0101043a +int attr windowSharedElementReenterTransition 0x010104b1 +int attr windowSharedElementReturnTransition 0x010104b0 +int attr windowSharedElementsUseOverlay 0x010104bb +int attr windowShowAnimation 0x010100b6 +int attr windowShowWallpaper 0x01010292 +int attr windowSoftInputMode 0x0101022b +int attr windowSplashscreenContent 0x01010564 +int attr windowSwipeToDismiss 0x010103f3 +int attr windowTitleBackgroundStyle 0x0101005c +int attr windowTitleSize 0x0101005a +int attr windowTitleStyle 0x0101005b +int attr windowTransitionBackgroundFadeDuration 0x01010461 +int attr windowTranslucentNavigation 0x010103f0 +int attr windowTranslucentStatus 0x010103ef +int attr writePermission 0x01010008 +int attr x 0x010100ac +int attr xlargeScreens 0x010102bf +int attr y 0x010100ad +int attr yearListItemTextAppearance 0x01010499 +int attr yearListSelectorColor 0x0101049a +int attr yesNoPreferenceStyle 0x01010090 +int attr zAdjustment 0x010101c1 diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/R.txt b/library_pullToRefresh/build/intermediates/bundles/debug/R.txt new file mode 100644 index 0000000..dea95e1 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/R.txt @@ -0,0 +1,75 @@ +int anim progresbar_anim 0x7f010001 +int anim refresh_view 0x7f010002 +int anim slide_in_from_bottom 0x7f010003 +int anim slide_in_from_top 0x7f010004 +int anim slide_out_to_bottom 0x7f010005 +int anim slide_out_to_top 0x7f010006 +int attr ptrAdapterViewBackground 0x7f040001 +int attr ptrAnimationStyle 0x7f040002 +int attr ptrDrawable 0x7f040003 +int attr ptrDrawableBottom 0x7f040004 +int attr ptrDrawableEnd 0x7f040005 +int attr ptrDrawableStart 0x7f040006 +int attr ptrDrawableTop 0x7f040007 +int attr ptrHeaderBackground 0x7f040008 +int attr ptrHeaderSubTextColor 0x7f040009 +int attr ptrHeaderTextAppearance 0x7f04000a +int attr ptrHeaderTextColor 0x7f04000b +int attr ptrListViewExtrasEnabled 0x7f04000c +int attr ptrMode 0x7f04000d +int attr ptrOverScroll 0x7f04000e +int attr ptrRefreshableViewBackground 0x7f04000f +int attr ptrRotateDrawableWhilePulling 0x7f040010 +int attr ptrScrollingWhileRefreshingEnabled 0x7f040011 +int attr ptrShowIndicator 0x7f040012 +int attr ptrSubHeaderTextAppearance 0x7f040013 +int dimen header_footer_left_right_padding 0x7f080001 +int dimen header_footer_top_bottom_padding 0x7f080002 +int dimen indicator_corner_radius 0x7f080003 +int dimen indicator_internal_padding 0x7f080004 +int dimen indicator_right_padding 0x7f080005 +int drawable default_ptr_rotate 0x7f090001 +int drawable indicator_arrow 0x7f090002 +int drawable indicator_bg_bottom 0x7f090003 +int drawable indicator_bg_top 0x7f090004 +int drawable loading_01 0x7f090005 +int drawable loading_02 0x7f090006 +int drawable loading_03 0x7f090007 +int drawable loading_04 0x7f090008 +int drawable refresh_anim 0x7f090009 +int id fl_inner 0x7f0c0001 +int id gridview 0x7f0c0002 +int id pull_to_refresh_image 0x7f0c0003 +int id pull_to_refresh_progress 0x7f0c0004 +int id pull_to_refresh_sub_text 0x7f0c0005 +int id pull_to_refresh_text 0x7f0c0006 +int id scrollview 0x7f0c0007 +int id webview 0x7f0c0008 +int layout pull_to_refresh_header_horizontal 0x7f0f0001 +int layout pull_to_refresh_header_vertical 0x7f0f0002 +int string pull_to_refresh_from_bottom_pull_label 0x7f150001 +int string pull_to_refresh_from_bottom_refreshing_label 0x7f150002 +int string pull_to_refresh_from_bottom_release_label 0x7f150003 +int string pull_to_refresh_pull_label 0x7f150004 +int string pull_to_refresh_refreshing_label 0x7f150005 +int string pull_to_refresh_release_label 0x7f150006 +int[] styleable PullToRefresh { 0x7f040001, 0x7f040002, 0x7f040003, 0x7f040004, 0x7f040005, 0x7f040006, 0x7f040007, 0x7f040008, 0x7f040009, 0x7f04000a, 0x7f04000b, 0x7f04000c, 0x7f04000d, 0x7f04000e, 0x7f04000f, 0x7f040010, 0x7f040011, 0x7f040012, 0x7f040013 } +int styleable PullToRefresh_ptrAdapterViewBackground 0 +int styleable PullToRefresh_ptrAnimationStyle 1 +int styleable PullToRefresh_ptrDrawable 2 +int styleable PullToRefresh_ptrDrawableBottom 3 +int styleable PullToRefresh_ptrDrawableEnd 4 +int styleable PullToRefresh_ptrDrawableStart 5 +int styleable PullToRefresh_ptrDrawableTop 6 +int styleable PullToRefresh_ptrHeaderBackground 7 +int styleable PullToRefresh_ptrHeaderSubTextColor 8 +int styleable PullToRefresh_ptrHeaderTextAppearance 9 +int styleable PullToRefresh_ptrHeaderTextColor 10 +int styleable PullToRefresh_ptrListViewExtrasEnabled 11 +int styleable PullToRefresh_ptrMode 12 +int styleable PullToRefresh_ptrOverScroll 13 +int styleable PullToRefresh_ptrRefreshableViewBackground 14 +int styleable PullToRefresh_ptrRotateDrawableWhilePulling 15 +int styleable PullToRefresh_ptrScrollingWhileRefreshingEnabled 16 +int styleable PullToRefresh_ptrShowIndicator 17 +int styleable PullToRefresh_ptrSubHeaderTextAppearance 18 diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/progresbar_anim.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/progresbar_anim.xml new file mode 100644 index 0000000..9783fc6 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/progresbar_anim.xml @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/refresh_view.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/refresh_view.xml new file mode 100644 index 0000000..751d2da --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/refresh_view.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/slide_in_from_bottom.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/slide_in_from_bottom.xml new file mode 100644 index 0000000..bb430ce --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/slide_in_from_bottom.xml @@ -0,0 +1,21 @@ + + + + diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/slide_in_from_top.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/slide_in_from_top.xml new file mode 100644 index 0000000..52d91af --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/slide_in_from_top.xml @@ -0,0 +1,21 @@ + + + + diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/slide_out_to_bottom.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/slide_out_to_bottom.xml new file mode 100644 index 0000000..83eca5a --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/slide_out_to_bottom.xml @@ -0,0 +1,21 @@ + + + + diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/slide_out_to_top.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/slide_out_to_top.xml new file mode 100644 index 0000000..5105ae1 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/anim/slide_out_to_top.xml @@ -0,0 +1,21 @@ + + + + diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-hdpi-v4/default_ptr_rotate.png b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-hdpi-v4/default_ptr_rotate.png new file mode 100644 index 0000000..dc641b7 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-hdpi-v4/default_ptr_rotate.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-hdpi-v4/indicator_arrow.png b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-hdpi-v4/indicator_arrow.png new file mode 100644 index 0000000..8ae7977 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-hdpi-v4/indicator_arrow.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-mdpi-v4/default_ptr_rotate.png b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-mdpi-v4/default_ptr_rotate.png new file mode 100644 index 0000000..95b22bd Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-mdpi-v4/default_ptr_rotate.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-mdpi-v4/indicator_arrow.png b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-mdpi-v4/indicator_arrow.png new file mode 100644 index 0000000..20fe2c1 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-mdpi-v4/indicator_arrow.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/default_ptr_rotate.png b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/default_ptr_rotate.png new file mode 100644 index 0000000..00225c9 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/default_ptr_rotate.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/indicator_arrow.png b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/indicator_arrow.png new file mode 100644 index 0000000..810ff59 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/indicator_arrow.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/loading_01.png b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/loading_01.png new file mode 100644 index 0000000..a833952 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/loading_01.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/loading_02.png b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/loading_02.png new file mode 100644 index 0000000..4cb3d40 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/loading_02.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/loading_03.png b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/loading_03.png new file mode 100644 index 0000000..aa3d0fa Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/loading_03.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/loading_04.png b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/loading_04.png new file mode 100644 index 0000000..c987a1b Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/loading_04.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable/indicator_bg_bottom.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable/indicator_bg_bottom.xml new file mode 100644 index 0000000..81a91aa --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable/indicator_bg_bottom.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable/indicator_bg_top.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable/indicator_bg_top.xml new file mode 100644 index 0000000..59fa9cf --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable/indicator_bg_top.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable/refresh_anim.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable/refresh_anim.xml new file mode 100644 index 0000000..8de1faa --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/drawable/refresh_anim.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/layout/pull_to_refresh_header_horizontal.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/layout/pull_to_refresh_header_horizontal.xml new file mode 100644 index 0000000..f05bb03 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/layout/pull_to_refresh_header_horizontal.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/layout/pull_to_refresh_header_vertical.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/layout/pull_to_refresh_header_vertical.xml new file mode 100644 index 0000000..31f4229 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/layout/pull_to_refresh_header_vertical.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-ar/values-ar.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-ar/values-ar.xml new file mode 100644 index 0000000..7c621e0 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-ar/values-ar.xml @@ -0,0 +1,6 @@ + + + اسحب للتحديث… + تحميل… + اترك للتحديث… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-cs/values-cs.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-cs/values-cs.xml new file mode 100644 index 0000000..8c93d2f --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-cs/values-cs.xml @@ -0,0 +1,6 @@ + + + Tažením aktualizujete… + Načítání… + Uvolněním aktualizujete… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-de/values-de.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-de/values-de.xml new file mode 100644 index 0000000..cf8ca26 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-de/values-de.xml @@ -0,0 +1,6 @@ + + + Ziehen zum Aktualisieren… + Laden… + Loslassen zum Aktualisieren… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-es/values-es.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-es/values-es.xml new file mode 100644 index 0000000..774c075 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-es/values-es.xml @@ -0,0 +1,6 @@ + + + Tirar para actualizar… + Cargando… + Soltar para actualizar… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-fi/values-fi.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-fi/values-fi.xml new file mode 100644 index 0000000..573149e --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-fi/values-fi.xml @@ -0,0 +1,9 @@ + + + Päivitä vetämällä ylös… + @string/pull_to_refresh_refreshing_label + @string/pull_to_refresh_release_label + Päivitä vetämällä alas… + Päivitetään… + Päivitä vapauttamalla… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-fr/values-fr.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-fr/values-fr.xml new file mode 100644 index 0000000..0975919 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-fr/values-fr.xml @@ -0,0 +1,6 @@ + + + Tirez pour rafraîchir… + Chargement… + Relâcher pour rafraîchir… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-he/values-he.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-he/values-he.xml new file mode 100644 index 0000000..220c681 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-he/values-he.xml @@ -0,0 +1,6 @@ + + + משוך לרענון… + טוען… + שחרר לרענון… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-it/values-it.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-it/values-it.xml new file mode 100644 index 0000000..325075b --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-it/values-it.xml @@ -0,0 +1,6 @@ + + + Tira per aggiornare… + Caricamento… + Rilascia per aggionare… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-iw/values-iw.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-iw/values-iw.xml new file mode 100644 index 0000000..220c681 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-iw/values-iw.xml @@ -0,0 +1,6 @@ + + + משוך לרענון… + טוען… + שחרר לרענון… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-ja/values-ja.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-ja/values-ja.xml new file mode 100644 index 0000000..45f6760 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-ja/values-ja.xml @@ -0,0 +1,6 @@ + + + 画面を引っ張って… + 読み込み中… + 指を離して更新… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-ko/values-ko.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-ko/values-ko.xml new file mode 100644 index 0000000..89c9ea3 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-ko/values-ko.xml @@ -0,0 +1,6 @@ + + + 당겨서 새로 고침… + 로드 중… + 놓아서 새로 고침… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-nl/values-nl.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-nl/values-nl.xml new file mode 100644 index 0000000..70a3fe3 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-nl/values-nl.xml @@ -0,0 +1,6 @@ + + + Sleep om te vernieuwen… + Laden… + Loslaten om te vernieuwen… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-pl/values-pl.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-pl/values-pl.xml new file mode 100644 index 0000000..dbb5e3b --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-pl/values-pl.xml @@ -0,0 +1,6 @@ + + + Pociągnij, aby odświeżyć… + Wczytywanie… + Puść, aby odświeżyć… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-pt-rBR/values-pt-rBR.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-pt-rBR/values-pt-rBR.xml new file mode 100644 index 0000000..9d00764 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-pt-rBR/values-pt-rBR.xml @@ -0,0 +1,6 @@ + + + Puxe para atualizar… + Carregando… + Libere para atualizar… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-pt/values-pt.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-pt/values-pt.xml new file mode 100644 index 0000000..af108bd --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-pt/values-pt.xml @@ -0,0 +1,6 @@ + + + Puxe para atualizar… + A carregar… + Liberação para atualizar… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-ro/values-ro.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-ro/values-ro.xml new file mode 100644 index 0000000..ce3466a --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-ro/values-ro.xml @@ -0,0 +1,6 @@ + + + Trage pentru a reîmprospăta… + Încărcare… + Eliberează pentru a reîmprospăta… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-ru/values-ru.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-ru/values-ru.xml new file mode 100644 index 0000000..7c2072e --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-ru/values-ru.xml @@ -0,0 +1,6 @@ + + + Потяните для обновления… + Загрузка… + Отпустите для обновления… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values-zh/values-zh.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-zh/values-zh.xml new file mode 100644 index 0000000..93d4129 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values-zh/values-zh.xml @@ -0,0 +1,6 @@ + + + 下拉刷新 + 正在载入… + 释放立即刷新 + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/debug/res/values/values.xml b/library_pullToRefresh/build/intermediates/bundles/debug/res/values/values.xml new file mode 100644 index 0000000..570e8b3 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/debug/res/values/values.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + 24dp + 12dp + 12dp + 4dp + 10dp + + + + @string/pull_to_refresh_pull_label + @string/pull_to_refresh_refreshing_label + @string/pull_to_refresh_release_label + 下拉刷新 + 正在刷新… + 释放立即刷新 + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/R.txt b/library_pullToRefresh/build/intermediates/bundles/release/R.txt new file mode 100644 index 0000000..dea95e1 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/R.txt @@ -0,0 +1,75 @@ +int anim progresbar_anim 0x7f010001 +int anim refresh_view 0x7f010002 +int anim slide_in_from_bottom 0x7f010003 +int anim slide_in_from_top 0x7f010004 +int anim slide_out_to_bottom 0x7f010005 +int anim slide_out_to_top 0x7f010006 +int attr ptrAdapterViewBackground 0x7f040001 +int attr ptrAnimationStyle 0x7f040002 +int attr ptrDrawable 0x7f040003 +int attr ptrDrawableBottom 0x7f040004 +int attr ptrDrawableEnd 0x7f040005 +int attr ptrDrawableStart 0x7f040006 +int attr ptrDrawableTop 0x7f040007 +int attr ptrHeaderBackground 0x7f040008 +int attr ptrHeaderSubTextColor 0x7f040009 +int attr ptrHeaderTextAppearance 0x7f04000a +int attr ptrHeaderTextColor 0x7f04000b +int attr ptrListViewExtrasEnabled 0x7f04000c +int attr ptrMode 0x7f04000d +int attr ptrOverScroll 0x7f04000e +int attr ptrRefreshableViewBackground 0x7f04000f +int attr ptrRotateDrawableWhilePulling 0x7f040010 +int attr ptrScrollingWhileRefreshingEnabled 0x7f040011 +int attr ptrShowIndicator 0x7f040012 +int attr ptrSubHeaderTextAppearance 0x7f040013 +int dimen header_footer_left_right_padding 0x7f080001 +int dimen header_footer_top_bottom_padding 0x7f080002 +int dimen indicator_corner_radius 0x7f080003 +int dimen indicator_internal_padding 0x7f080004 +int dimen indicator_right_padding 0x7f080005 +int drawable default_ptr_rotate 0x7f090001 +int drawable indicator_arrow 0x7f090002 +int drawable indicator_bg_bottom 0x7f090003 +int drawable indicator_bg_top 0x7f090004 +int drawable loading_01 0x7f090005 +int drawable loading_02 0x7f090006 +int drawable loading_03 0x7f090007 +int drawable loading_04 0x7f090008 +int drawable refresh_anim 0x7f090009 +int id fl_inner 0x7f0c0001 +int id gridview 0x7f0c0002 +int id pull_to_refresh_image 0x7f0c0003 +int id pull_to_refresh_progress 0x7f0c0004 +int id pull_to_refresh_sub_text 0x7f0c0005 +int id pull_to_refresh_text 0x7f0c0006 +int id scrollview 0x7f0c0007 +int id webview 0x7f0c0008 +int layout pull_to_refresh_header_horizontal 0x7f0f0001 +int layout pull_to_refresh_header_vertical 0x7f0f0002 +int string pull_to_refresh_from_bottom_pull_label 0x7f150001 +int string pull_to_refresh_from_bottom_refreshing_label 0x7f150002 +int string pull_to_refresh_from_bottom_release_label 0x7f150003 +int string pull_to_refresh_pull_label 0x7f150004 +int string pull_to_refresh_refreshing_label 0x7f150005 +int string pull_to_refresh_release_label 0x7f150006 +int[] styleable PullToRefresh { 0x7f040001, 0x7f040002, 0x7f040003, 0x7f040004, 0x7f040005, 0x7f040006, 0x7f040007, 0x7f040008, 0x7f040009, 0x7f04000a, 0x7f04000b, 0x7f04000c, 0x7f04000d, 0x7f04000e, 0x7f04000f, 0x7f040010, 0x7f040011, 0x7f040012, 0x7f040013 } +int styleable PullToRefresh_ptrAdapterViewBackground 0 +int styleable PullToRefresh_ptrAnimationStyle 1 +int styleable PullToRefresh_ptrDrawable 2 +int styleable PullToRefresh_ptrDrawableBottom 3 +int styleable PullToRefresh_ptrDrawableEnd 4 +int styleable PullToRefresh_ptrDrawableStart 5 +int styleable PullToRefresh_ptrDrawableTop 6 +int styleable PullToRefresh_ptrHeaderBackground 7 +int styleable PullToRefresh_ptrHeaderSubTextColor 8 +int styleable PullToRefresh_ptrHeaderTextAppearance 9 +int styleable PullToRefresh_ptrHeaderTextColor 10 +int styleable PullToRefresh_ptrListViewExtrasEnabled 11 +int styleable PullToRefresh_ptrMode 12 +int styleable PullToRefresh_ptrOverScroll 13 +int styleable PullToRefresh_ptrRefreshableViewBackground 14 +int styleable PullToRefresh_ptrRotateDrawableWhilePulling 15 +int styleable PullToRefresh_ptrScrollingWhileRefreshingEnabled 16 +int styleable PullToRefresh_ptrShowIndicator 17 +int styleable PullToRefresh_ptrSubHeaderTextAppearance 18 diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/anim/progresbar_anim.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/anim/progresbar_anim.xml new file mode 100644 index 0000000..9783fc6 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/anim/progresbar_anim.xml @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/anim/refresh_view.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/anim/refresh_view.xml new file mode 100644 index 0000000..751d2da --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/anim/refresh_view.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/anim/slide_in_from_bottom.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/anim/slide_in_from_bottom.xml new file mode 100644 index 0000000..bb430ce --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/anim/slide_in_from_bottom.xml @@ -0,0 +1,21 @@ + + + + diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/anim/slide_in_from_top.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/anim/slide_in_from_top.xml new file mode 100644 index 0000000..52d91af --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/anim/slide_in_from_top.xml @@ -0,0 +1,21 @@ + + + + diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/anim/slide_out_to_bottom.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/anim/slide_out_to_bottom.xml new file mode 100644 index 0000000..83eca5a --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/anim/slide_out_to_bottom.xml @@ -0,0 +1,21 @@ + + + + diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/anim/slide_out_to_top.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/anim/slide_out_to_top.xml new file mode 100644 index 0000000..5105ae1 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/anim/slide_out_to_top.xml @@ -0,0 +1,21 @@ + + + + diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-hdpi-v4/default_ptr_rotate.png b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-hdpi-v4/default_ptr_rotate.png new file mode 100644 index 0000000..dc641b7 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-hdpi-v4/default_ptr_rotate.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-hdpi-v4/indicator_arrow.png b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-hdpi-v4/indicator_arrow.png new file mode 100644 index 0000000..8ae7977 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-hdpi-v4/indicator_arrow.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-mdpi-v4/default_ptr_rotate.png b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-mdpi-v4/default_ptr_rotate.png new file mode 100644 index 0000000..95b22bd Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-mdpi-v4/default_ptr_rotate.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-mdpi-v4/indicator_arrow.png b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-mdpi-v4/indicator_arrow.png new file mode 100644 index 0000000..20fe2c1 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-mdpi-v4/indicator_arrow.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/default_ptr_rotate.png b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/default_ptr_rotate.png new file mode 100644 index 0000000..00225c9 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/default_ptr_rotate.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/indicator_arrow.png b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/indicator_arrow.png new file mode 100644 index 0000000..810ff59 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/indicator_arrow.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/loading_01.png b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/loading_01.png new file mode 100644 index 0000000..a833952 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/loading_01.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/loading_02.png b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/loading_02.png new file mode 100644 index 0000000..4cb3d40 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/loading_02.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/loading_03.png b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/loading_03.png new file mode 100644 index 0000000..aa3d0fa Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/loading_03.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/loading_04.png b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/loading_04.png new file mode 100644 index 0000000..c987a1b Binary files /dev/null and b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable-xhdpi-v4/loading_04.png differ diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/drawable/indicator_bg_bottom.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable/indicator_bg_bottom.xml new file mode 100644 index 0000000..81a91aa --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable/indicator_bg_bottom.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/drawable/indicator_bg_top.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable/indicator_bg_top.xml new file mode 100644 index 0000000..59fa9cf --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable/indicator_bg_top.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/drawable/refresh_anim.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable/refresh_anim.xml new file mode 100644 index 0000000..8de1faa --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/drawable/refresh_anim.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/layout/pull_to_refresh_header_horizontal.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/layout/pull_to_refresh_header_horizontal.xml new file mode 100644 index 0000000..f05bb03 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/layout/pull_to_refresh_header_horizontal.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/layout/pull_to_refresh_header_vertical.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/layout/pull_to_refresh_header_vertical.xml new file mode 100644 index 0000000..31f4229 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/layout/pull_to_refresh_header_vertical.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-ar/values-ar.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-ar/values-ar.xml new file mode 100644 index 0000000..7c621e0 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-ar/values-ar.xml @@ -0,0 +1,6 @@ + + + اسحب للتحديث… + تحميل… + اترك للتحديث… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-cs/values-cs.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-cs/values-cs.xml new file mode 100644 index 0000000..8c93d2f --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-cs/values-cs.xml @@ -0,0 +1,6 @@ + + + Tažením aktualizujete… + Načítání… + Uvolněním aktualizujete… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-de/values-de.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-de/values-de.xml new file mode 100644 index 0000000..cf8ca26 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-de/values-de.xml @@ -0,0 +1,6 @@ + + + Ziehen zum Aktualisieren… + Laden… + Loslassen zum Aktualisieren… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-es/values-es.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-es/values-es.xml new file mode 100644 index 0000000..774c075 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-es/values-es.xml @@ -0,0 +1,6 @@ + + + Tirar para actualizar… + Cargando… + Soltar para actualizar… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-fi/values-fi.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-fi/values-fi.xml new file mode 100644 index 0000000..573149e --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-fi/values-fi.xml @@ -0,0 +1,9 @@ + + + Päivitä vetämällä ylös… + @string/pull_to_refresh_refreshing_label + @string/pull_to_refresh_release_label + Päivitä vetämällä alas… + Päivitetään… + Päivitä vapauttamalla… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-fr/values-fr.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-fr/values-fr.xml new file mode 100644 index 0000000..0975919 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-fr/values-fr.xml @@ -0,0 +1,6 @@ + + + Tirez pour rafraîchir… + Chargement… + Relâcher pour rafraîchir… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-he/values-he.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-he/values-he.xml new file mode 100644 index 0000000..220c681 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-he/values-he.xml @@ -0,0 +1,6 @@ + + + משוך לרענון… + טוען… + שחרר לרענון… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-it/values-it.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-it/values-it.xml new file mode 100644 index 0000000..325075b --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-it/values-it.xml @@ -0,0 +1,6 @@ + + + Tira per aggiornare… + Caricamento… + Rilascia per aggionare… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-iw/values-iw.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-iw/values-iw.xml new file mode 100644 index 0000000..220c681 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-iw/values-iw.xml @@ -0,0 +1,6 @@ + + + משוך לרענון… + טוען… + שחרר לרענון… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-ja/values-ja.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-ja/values-ja.xml new file mode 100644 index 0000000..45f6760 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-ja/values-ja.xml @@ -0,0 +1,6 @@ + + + 画面を引っ張って… + 読み込み中… + 指を離して更新… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-ko/values-ko.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-ko/values-ko.xml new file mode 100644 index 0000000..89c9ea3 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-ko/values-ko.xml @@ -0,0 +1,6 @@ + + + 당겨서 새로 고침… + 로드 중… + 놓아서 새로 고침… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-nl/values-nl.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-nl/values-nl.xml new file mode 100644 index 0000000..70a3fe3 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-nl/values-nl.xml @@ -0,0 +1,6 @@ + + + Sleep om te vernieuwen… + Laden… + Loslaten om te vernieuwen… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-pl/values-pl.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-pl/values-pl.xml new file mode 100644 index 0000000..dbb5e3b --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-pl/values-pl.xml @@ -0,0 +1,6 @@ + + + Pociągnij, aby odświeżyć… + Wczytywanie… + Puść, aby odświeżyć… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-pt-rBR/values-pt-rBR.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-pt-rBR/values-pt-rBR.xml new file mode 100644 index 0000000..9d00764 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-pt-rBR/values-pt-rBR.xml @@ -0,0 +1,6 @@ + + + Puxe para atualizar… + Carregando… + Libere para atualizar… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-pt/values-pt.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-pt/values-pt.xml new file mode 100644 index 0000000..af108bd --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-pt/values-pt.xml @@ -0,0 +1,6 @@ + + + Puxe para atualizar… + A carregar… + Liberação para atualizar… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-ro/values-ro.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-ro/values-ro.xml new file mode 100644 index 0000000..ce3466a --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-ro/values-ro.xml @@ -0,0 +1,6 @@ + + + Trage pentru a reîmprospăta… + Încărcare… + Eliberează pentru a reîmprospăta… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-ru/values-ru.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-ru/values-ru.xml new file mode 100644 index 0000000..7c2072e --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-ru/values-ru.xml @@ -0,0 +1,6 @@ + + + Потяните для обновления… + Загрузка… + Отпустите для обновления… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values-zh/values-zh.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values-zh/values-zh.xml new file mode 100644 index 0000000..93d4129 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values-zh/values-zh.xml @@ -0,0 +1,6 @@ + + + 下拉刷新 + 正在载入… + 释放立即刷新 + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/bundles/release/res/values/values.xml b/library_pullToRefresh/build/intermediates/bundles/release/res/values/values.xml new file mode 100644 index 0000000..570e8b3 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/bundles/release/res/values/values.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + 24dp + 12dp + 12dp + 4dp + 10dp + + + + @string/pull_to_refresh_pull_label + @string/pull_to_refresh_refreshing_label + @string/pull_to_refresh_release_label + 下拉刷新 + 正在刷新… + 释放立即刷新 + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/BuildConfig.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/BuildConfig.class new file mode 100644 index 0000000..51ff631 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/BuildConfig.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/ILoadingLayout.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/ILoadingLayout.class new file mode 100644 index 0000000..8cd5c3d Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/ILoadingLayout.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/IPullToRefresh.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/IPullToRefresh.class new file mode 100644 index 0000000..db76bc6 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/IPullToRefresh.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/LoadingLayoutProxy.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/LoadingLayoutProxy.class new file mode 100644 index 0000000..24c46da Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/LoadingLayoutProxy.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/OverscrollHelper$1.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/OverscrollHelper$1.class new file mode 100644 index 0000000..0aa4f09 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/OverscrollHelper$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/OverscrollHelper.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/OverscrollHelper.class new file mode 100644 index 0000000..a84b523 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/OverscrollHelper.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase$1.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase$1.class new file mode 100644 index 0000000..30d0539 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.class new file mode 100644 index 0000000..9c4f3f5 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$1.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$1.class new file mode 100644 index 0000000..59afc3a Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$2.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$2.class new file mode 100644 index 0000000..12fe9ba Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$2.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$3.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$3.class new file mode 100644 index 0000000..dd9adc4 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$3.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$4.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$4.class new file mode 100644 index 0000000..9d750aa Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$4.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$AnimationStyle.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$AnimationStyle.class new file mode 100644 index 0000000..8468589 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$AnimationStyle.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$Mode.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$Mode.class new file mode 100644 index 0000000..0aa530f Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$Mode.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$OnLastItemVisibleListener.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$OnLastItemVisibleListener.class new file mode 100644 index 0000000..f5b7e37 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$OnLastItemVisibleListener.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$OnPullEventListener.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$OnPullEventListener.class new file mode 100644 index 0000000..63bad96 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$OnPullEventListener.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener.class new file mode 100644 index 0000000..acb1bfc Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener2.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener2.class new file mode 100644 index 0000000..6f25167 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener2.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$OnSmoothScrollFinishedListener.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$OnSmoothScrollFinishedListener.class new file mode 100644 index 0000000..32f6dfc Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$OnSmoothScrollFinishedListener.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$Orientation.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$Orientation.class new file mode 100644 index 0000000..a0bf7d7 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$Orientation.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$SmoothScrollRunnable.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$SmoothScrollRunnable.class new file mode 100644 index 0000000..f8742e8 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$SmoothScrollRunnable.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$State.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$State.class new file mode 100644 index 0000000..9cc6b3f Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase$State.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase.class new file mode 100644 index 0000000..961c88e Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshBase.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListView.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListView.class new file mode 100644 index 0000000..71b8cf8 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListViewSDK9.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListViewSDK9.class new file mode 100644 index 0000000..b79637a Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListViewSDK9.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.class new file mode 100644 index 0000000..dbb6799 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridView.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridView.class new file mode 100644 index 0000000..1704542 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridViewSDK9.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridViewSDK9.class new file mode 100644 index 0000000..1c62e0d Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridViewSDK9.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshGridView.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshGridView.class new file mode 100644 index 0000000..04f5357 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshGridView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView$InternalHorizontalScrollViewSDK9.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView$InternalHorizontalScrollViewSDK9.class new file mode 100644 index 0000000..5e99d41 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView$InternalHorizontalScrollViewSDK9.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.class new file mode 100644 index 0000000..bad12ca Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshListView$1.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshListView$1.class new file mode 100644 index 0000000..e799525 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshListView$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListView.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListView.class new file mode 100644 index 0000000..1a2e160 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListViewSDK9.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListViewSDK9.class new file mode 100644 index 0000000..a5f1dcb Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListViewSDK9.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshListView.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshListView.class new file mode 100644 index 0000000..298a7f2 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshListView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshScrollView$InternalScrollViewSDK9.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshScrollView$InternalScrollViewSDK9.class new file mode 100644 index 0000000..54ebb93 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshScrollView$InternalScrollViewSDK9.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshScrollView.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshScrollView.class new file mode 100644 index 0000000..177b022 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshScrollView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshWebView$1.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshWebView$1.class new file mode 100644 index 0000000..2202ee3 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshWebView$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshWebView$2.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshWebView$2.class new file mode 100644 index 0000000..be352a5 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshWebView$2.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshWebView$InternalWebViewSDK9.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshWebView$InternalWebViewSDK9.class new file mode 100644 index 0000000..c244395 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshWebView$InternalWebViewSDK9.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshWebView.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshWebView.class new file mode 100644 index 0000000..14038c9 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/PullToRefreshWebView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$anim.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$anim.class new file mode 100644 index 0000000..a0a49de Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$anim.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$attr.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$attr.class new file mode 100644 index 0000000..b2e62ab Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$attr.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$dimen.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$dimen.class new file mode 100644 index 0000000..49d5ba0 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$dimen.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$drawable.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$drawable.class new file mode 100644 index 0000000..15df5bb Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$drawable.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$id.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$id.class new file mode 100644 index 0000000..b87c81d Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$id.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$layout.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$layout.class new file mode 100644 index 0000000..b9f80c1 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$layout.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$string.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$string.class new file mode 100644 index 0000000..422ffd7 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$string.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$styleable.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$styleable.class new file mode 100644 index 0000000..67a4990 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R$styleable.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R.class new file mode 100644 index 0000000..248bdb1 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/R.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2$JsValueCallback.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2$JsValueCallback.class new file mode 100644 index 0000000..70a86ec Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2$JsValueCallback.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.class new file mode 100644 index 0000000..f8d1f21 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.class new file mode 100644 index 0000000..2dfa225 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.class new file mode 100644 index 0000000..3fdb0e1 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout$1.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout$1.class new file mode 100644 index 0000000..663f1ce Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.class new file mode 100644 index 0000000..580994e Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/IndicatorLayout$1.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/IndicatorLayout$1.class new file mode 100644 index 0000000..61d8de4 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/IndicatorLayout$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/IndicatorLayout.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/IndicatorLayout.class new file mode 100644 index 0000000..97640d3 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/IndicatorLayout.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/LoadingLayout$1.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/LoadingLayout$1.class new file mode 100644 index 0000000..1295074 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/LoadingLayout$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/LoadingLayout.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/LoadingLayout.class new file mode 100644 index 0000000..ac9cd71 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/LoadingLayout.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.class new file mode 100644 index 0000000..a431ded Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/TweenAnimLoadingLayout.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/TweenAnimLoadingLayout.class new file mode 100644 index 0000000..ef38d78 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/TweenAnimLoadingLayout.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/Utils.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/Utils.class new file mode 100644 index 0000000..f3bbe78 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/Utils.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK11.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK11.class new file mode 100644 index 0000000..12d2c89 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK11.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK16.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK16.class new file mode 100644 index 0000000..b9ab75b Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK16.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/ViewCompat.class b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/ViewCompat.class new file mode 100644 index 0000000..1c6ffe7 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/debug/com/handmark/pulltorefresh/library/internal/ViewCompat.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/BuildConfig.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/BuildConfig.class new file mode 100644 index 0000000..a06eefa Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/BuildConfig.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/ILoadingLayout.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/ILoadingLayout.class new file mode 100644 index 0000000..8cd5c3d Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/ILoadingLayout.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/IPullToRefresh.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/IPullToRefresh.class new file mode 100644 index 0000000..db76bc6 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/IPullToRefresh.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/LoadingLayoutProxy.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/LoadingLayoutProxy.class new file mode 100644 index 0000000..24c46da Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/LoadingLayoutProxy.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/OverscrollHelper$1.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/OverscrollHelper$1.class new file mode 100644 index 0000000..0aa4f09 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/OverscrollHelper$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/OverscrollHelper.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/OverscrollHelper.class new file mode 100644 index 0000000..a84b523 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/OverscrollHelper.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase$1.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase$1.class new file mode 100644 index 0000000..30d0539 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.class new file mode 100644 index 0000000..9c4f3f5 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$1.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$1.class new file mode 100644 index 0000000..59afc3a Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$2.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$2.class new file mode 100644 index 0000000..12fe9ba Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$2.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$3.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$3.class new file mode 100644 index 0000000..dd9adc4 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$3.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$4.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$4.class new file mode 100644 index 0000000..9d750aa Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$4.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$AnimationStyle.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$AnimationStyle.class new file mode 100644 index 0000000..8468589 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$AnimationStyle.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$Mode.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$Mode.class new file mode 100644 index 0000000..0aa530f Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$Mode.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$OnLastItemVisibleListener.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$OnLastItemVisibleListener.class new file mode 100644 index 0000000..f5b7e37 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$OnLastItemVisibleListener.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$OnPullEventListener.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$OnPullEventListener.class new file mode 100644 index 0000000..63bad96 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$OnPullEventListener.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener.class new file mode 100644 index 0000000..acb1bfc Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener2.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener2.class new file mode 100644 index 0000000..6f25167 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$OnRefreshListener2.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$OnSmoothScrollFinishedListener.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$OnSmoothScrollFinishedListener.class new file mode 100644 index 0000000..32f6dfc Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$OnSmoothScrollFinishedListener.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$Orientation.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$Orientation.class new file mode 100644 index 0000000..a0bf7d7 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$Orientation.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$SmoothScrollRunnable.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$SmoothScrollRunnable.class new file mode 100644 index 0000000..f8742e8 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$SmoothScrollRunnable.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$State.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$State.class new file mode 100644 index 0000000..9cc6b3f Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase$State.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase.class new file mode 100644 index 0000000..961c88e Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshBase.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListView.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListView.class new file mode 100644 index 0000000..71b8cf8 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListViewSDK9.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListViewSDK9.class new file mode 100644 index 0000000..b79637a Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView$InternalExpandableListViewSDK9.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.class new file mode 100644 index 0000000..dbb6799 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridView.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridView.class new file mode 100644 index 0000000..1704542 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridViewSDK9.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridViewSDK9.class new file mode 100644 index 0000000..1c62e0d Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshGridView$InternalGridViewSDK9.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshGridView.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshGridView.class new file mode 100644 index 0000000..04f5357 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshGridView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView$InternalHorizontalScrollViewSDK9.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView$InternalHorizontalScrollViewSDK9.class new file mode 100644 index 0000000..5e99d41 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView$InternalHorizontalScrollViewSDK9.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.class new file mode 100644 index 0000000..bad12ca Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshListView$1.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshListView$1.class new file mode 100644 index 0000000..e799525 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshListView$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListView.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListView.class new file mode 100644 index 0000000..1a2e160 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListViewSDK9.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListViewSDK9.class new file mode 100644 index 0000000..a5f1dcb Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshListView$InternalListViewSDK9.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshListView.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshListView.class new file mode 100644 index 0000000..298a7f2 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshListView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshScrollView$InternalScrollViewSDK9.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshScrollView$InternalScrollViewSDK9.class new file mode 100644 index 0000000..54ebb93 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshScrollView$InternalScrollViewSDK9.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshScrollView.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshScrollView.class new file mode 100644 index 0000000..177b022 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshScrollView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshWebView$1.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshWebView$1.class new file mode 100644 index 0000000..2202ee3 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshWebView$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshWebView$2.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshWebView$2.class new file mode 100644 index 0000000..be352a5 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshWebView$2.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshWebView$InternalWebViewSDK9.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshWebView$InternalWebViewSDK9.class new file mode 100644 index 0000000..c244395 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshWebView$InternalWebViewSDK9.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshWebView.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshWebView.class new file mode 100644 index 0000000..14038c9 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/PullToRefreshWebView.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$anim.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$anim.class new file mode 100644 index 0000000..a0a49de Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$anim.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$attr.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$attr.class new file mode 100644 index 0000000..b2e62ab Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$attr.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$dimen.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$dimen.class new file mode 100644 index 0000000..49d5ba0 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$dimen.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$drawable.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$drawable.class new file mode 100644 index 0000000..15df5bb Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$drawable.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$id.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$id.class new file mode 100644 index 0000000..b87c81d Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$id.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$layout.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$layout.class new file mode 100644 index 0000000..b9f80c1 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$layout.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$string.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$string.class new file mode 100644 index 0000000..422ffd7 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$string.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$styleable.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$styleable.class new file mode 100644 index 0000000..67a4990 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R$styleable.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R.class new file mode 100644 index 0000000..248bdb1 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/R.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2$JsValueCallback.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2$JsValueCallback.class new file mode 100644 index 0000000..70a86ec Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2$JsValueCallback.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.class new file mode 100644 index 0000000..f8d1f21 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.class new file mode 100644 index 0000000..2dfa225 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.class new file mode 100644 index 0000000..3fdb0e1 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout$1.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout$1.class new file mode 100644 index 0000000..663f1ce Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.class new file mode 100644 index 0000000..580994e Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/IndicatorLayout$1.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/IndicatorLayout$1.class new file mode 100644 index 0000000..61d8de4 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/IndicatorLayout$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/IndicatorLayout.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/IndicatorLayout.class new file mode 100644 index 0000000..97640d3 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/IndicatorLayout.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/LoadingLayout$1.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/LoadingLayout$1.class new file mode 100644 index 0000000..1295074 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/LoadingLayout$1.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/LoadingLayout.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/LoadingLayout.class new file mode 100644 index 0000000..ac9cd71 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/LoadingLayout.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.class new file mode 100644 index 0000000..a431ded Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/TweenAnimLoadingLayout.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/TweenAnimLoadingLayout.class new file mode 100644 index 0000000..ef38d78 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/TweenAnimLoadingLayout.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/Utils.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/Utils.class new file mode 100644 index 0000000..f3bbe78 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/Utils.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK11.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK11.class new file mode 100644 index 0000000..12d2c89 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK11.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK16.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK16.class new file mode 100644 index 0000000..b9ab75b Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/ViewCompat$SDK16.class differ diff --git a/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/ViewCompat.class b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/ViewCompat.class new file mode 100644 index 0000000..1c6ffe7 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/classes/release/com/handmark/pulltorefresh/library/internal/ViewCompat.class differ diff --git a/library_pullToRefresh/build/intermediates/incremental/compileDebugAidl/dependency.store b/library_pullToRefresh/build/intermediates/incremental/compileDebugAidl/dependency.store new file mode 100644 index 0000000..8b8400d Binary files /dev/null and b/library_pullToRefresh/build/intermediates/incremental/compileDebugAidl/dependency.store differ diff --git a/library_pullToRefresh/build/intermediates/incremental/compileReleaseAidl/dependency.store b/library_pullToRefresh/build/intermediates/incremental/compileReleaseAidl/dependency.store new file mode 100644 index 0000000..8b8400d Binary files /dev/null and b/library_pullToRefresh/build/intermediates/incremental/compileReleaseAidl/dependency.store differ diff --git a/library_pullToRefresh/build/intermediates/incremental/debug-mergeJniLibs/merge-state b/library_pullToRefresh/build/intermediates/incremental/debug-mergeJniLibs/merge-state new file mode 100644 index 0000000..26445ea Binary files /dev/null and b/library_pullToRefresh/build/intermediates/incremental/debug-mergeJniLibs/merge-state differ diff --git a/library_pullToRefresh/build/intermediates/incremental/mergeDebugAssets/merger.xml b/library_pullToRefresh/build/intermediates/incremental/mergeDebugAssets/merger.xml new file mode 100644 index 0000000..5cf18c7 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/mergeDebugAssets/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml b/library_pullToRefresh/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml new file mode 100644 index 0000000..6efb5aa --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/mergeDebugShaders/merger.xml b/library_pullToRefresh/build/intermediates/incremental/mergeDebugShaders/merger.xml new file mode 100644 index 0000000..552ed07 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/mergeDebugShaders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/mergeReleaseAssets/merger.xml b/library_pullToRefresh/build/intermediates/incremental/mergeReleaseAssets/merger.xml new file mode 100644 index 0000000..6354bbc --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/mergeReleaseAssets/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml b/library_pullToRefresh/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml new file mode 100644 index 0000000..a87568a --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/mergeReleaseShaders/merger.xml b/library_pullToRefresh/build/intermediates/incremental/mergeReleaseShaders/merger.xml new file mode 100644 index 0000000..83b6969 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/mergeReleaseShaders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/compile-file-map.properties b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/compile-file-map.properties new file mode 100644 index 0000000..67a3cb6 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/compile-file-map.properties @@ -0,0 +1,22 @@ +#Thu Nov 05 15:37:01 CST 2020 +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\layout\\pull_to_refresh_header_vertical.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\layout\\pull_to_refresh_header_vertical.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-mdpi\\indicator_arrow.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\indicator_arrow.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-hdpi\\default_ptr_rotate.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\default_ptr_rotate.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\anim\\slide_out_to_bottom.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\anim\\slide_out_to_bottom.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-xhdpi\\loading_04.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\loading_04.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-hdpi\\indicator_arrow.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\indicator_arrow.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\anim\\refresh_view.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\anim\\refresh_view.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\anim\\slide_in_from_top.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\anim\\slide_in_from_top.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-xhdpi\\loading_01.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\loading_01.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable\\indicator_bg_top.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\drawable\\indicator_bg_top.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-xhdpi\\indicator_arrow.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\indicator_arrow.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\anim\\slide_out_to_top.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\anim\\slide_out_to_top.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-mdpi\\default_ptr_rotate.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\default_ptr_rotate.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-xhdpi\\loading_03.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\loading_03.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\layout\\pull_to_refresh_header_horizontal.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\layout\\pull_to_refresh_header_horizontal.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable\\indicator_bg_bottom.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\drawable\\indicator_bg_bottom.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable\\refresh_anim.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\drawable\\refresh_anim.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-xhdpi\\loading_02.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\loading_02.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\anim\\progresbar_anim.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\anim\\progresbar_anim.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-xhdpi\\default_ptr_rotate.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\default_ptr_rotate.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\anim\\slide_in_from_bottom.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\debug\\res\\anim\\slide_in_from_bottom.xml diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-ar/values-ar.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-ar/values-ar.xml new file mode 100644 index 0000000..7c621e0 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-ar/values-ar.xml @@ -0,0 +1,6 @@ + + + اسحب للتحديث… + تحميل… + اترك للتحديث… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-cs/values-cs.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-cs/values-cs.xml new file mode 100644 index 0000000..8c93d2f --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-cs/values-cs.xml @@ -0,0 +1,6 @@ + + + Tažením aktualizujete… + Načítání… + Uvolněním aktualizujete… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-de/values-de.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-de/values-de.xml new file mode 100644 index 0000000..cf8ca26 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-de/values-de.xml @@ -0,0 +1,6 @@ + + + Ziehen zum Aktualisieren… + Laden… + Loslassen zum Aktualisieren… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-es/values-es.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-es/values-es.xml new file mode 100644 index 0000000..774c075 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-es/values-es.xml @@ -0,0 +1,6 @@ + + + Tirar para actualizar… + Cargando… + Soltar para actualizar… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-fi/values-fi.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-fi/values-fi.xml new file mode 100644 index 0000000..573149e --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-fi/values-fi.xml @@ -0,0 +1,9 @@ + + + Päivitä vetämällä ylös… + @string/pull_to_refresh_refreshing_label + @string/pull_to_refresh_release_label + Päivitä vetämällä alas… + Päivitetään… + Päivitä vapauttamalla… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-fr/values-fr.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-fr/values-fr.xml new file mode 100644 index 0000000..0975919 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-fr/values-fr.xml @@ -0,0 +1,6 @@ + + + Tirez pour rafraîchir… + Chargement… + Relâcher pour rafraîchir… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-he/values-he.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-he/values-he.xml new file mode 100644 index 0000000..220c681 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-he/values-he.xml @@ -0,0 +1,6 @@ + + + משוך לרענון… + טוען… + שחרר לרענון… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-it/values-it.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-it/values-it.xml new file mode 100644 index 0000000..325075b --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-it/values-it.xml @@ -0,0 +1,6 @@ + + + Tira per aggiornare… + Caricamento… + Rilascia per aggionare… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-iw/values-iw.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-iw/values-iw.xml new file mode 100644 index 0000000..220c681 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-iw/values-iw.xml @@ -0,0 +1,6 @@ + + + משוך לרענון… + טוען… + שחרר לרענון… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-ja/values-ja.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-ja/values-ja.xml new file mode 100644 index 0000000..45f6760 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-ja/values-ja.xml @@ -0,0 +1,6 @@ + + + 画面を引っ張って… + 読み込み中… + 指を離して更新… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-ko/values-ko.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-ko/values-ko.xml new file mode 100644 index 0000000..89c9ea3 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-ko/values-ko.xml @@ -0,0 +1,6 @@ + + + 당겨서 새로 고침… + 로드 중… + 놓아서 새로 고침… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-nl/values-nl.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-nl/values-nl.xml new file mode 100644 index 0000000..70a3fe3 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-nl/values-nl.xml @@ -0,0 +1,6 @@ + + + Sleep om te vernieuwen… + Laden… + Loslaten om te vernieuwen… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-pl/values-pl.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-pl/values-pl.xml new file mode 100644 index 0000000..dbb5e3b --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-pl/values-pl.xml @@ -0,0 +1,6 @@ + + + Pociągnij, aby odświeżyć… + Wczytywanie… + Puść, aby odświeżyć… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-pt-rBR/values-pt-rBR.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-pt-rBR/values-pt-rBR.xml new file mode 100644 index 0000000..9d00764 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-pt-rBR/values-pt-rBR.xml @@ -0,0 +1,6 @@ + + + Puxe para atualizar… + Carregando… + Libere para atualizar… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-pt/values-pt.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-pt/values-pt.xml new file mode 100644 index 0000000..af108bd --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-pt/values-pt.xml @@ -0,0 +1,6 @@ + + + Puxe para atualizar… + A carregar… + Liberação para atualizar… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-ro/values-ro.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-ro/values-ro.xml new file mode 100644 index 0000000..ce3466a --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-ro/values-ro.xml @@ -0,0 +1,6 @@ + + + Trage pentru a reîmprospăta… + Încărcare… + Eliberează pentru a reîmprospăta… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-ru/values-ru.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-ru/values-ru.xml new file mode 100644 index 0000000..7c2072e --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-ru/values-ru.xml @@ -0,0 +1,6 @@ + + + Потяните для обновления… + Загрузка… + Отпустите для обновления… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-zh/values-zh.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-zh/values-zh.xml new file mode 100644 index 0000000..93d4129 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values-zh/values-zh.xml @@ -0,0 +1,6 @@ + + + 下拉刷新 + 正在载入… + 释放立即刷新 + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values/values.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values/values.xml new file mode 100644 index 0000000..570e8b3 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merged.dir/values/values.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + 24dp + 12dp + 12dp + 4dp + 10dp + + + + @string/pull_to_refresh_pull_label + @string/pull_to_refresh_refreshing_label + @string/pull_to_refresh_release_label + 下拉刷新 + 正在刷新… + 释放立即刷新 + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merger.xml b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merger.xml new file mode 100644 index 0000000..3ca1440 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageDebugResources/merger.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10dp12dp4dp24dp12dp下拉刷新释放立即刷新正在刷新…@string/pull_to_refresh_pull_label@string/pull_to_refresh_release_label@string/pull_to_refresh_refreshing_labelاسحب للتحديث…اترك للتحديث…تحميل…Tažením aktualizujete…Uvolněním aktualizujete…Načítání…Ziehen zum Aktualisieren…Loslassen zum Aktualisieren…Laden…Tirar para actualizar…Soltar para actualizar…Cargando…Päivitä vetämällä alas…Päivitä vapauttamalla…Päivitetään…Päivitä vetämällä ylös…@string/pull_to_refresh_release_label@string/pull_to_refresh_refreshing_labelTirez pour rafraîchir…Relâcher pour rafraîchir…Chargement…משוך לרענון…שחרר לרענון…טוען…Tira per aggiornare…Rilascia per aggionare…Caricamento…משוך לרענון…שחרר לרענון…טוען…画面を引っ張って…指を離して更新…読み込み中…당겨서 새로 고침…놓아서 새로 고침…로드 중…Sleep om te vernieuwen…Loslaten om te vernieuwen…Laden…Pociągnij, aby odświeżyć…Puść, aby odświeżyć…Wczytywanie…Puxe para atualizar…Liberação para atualizar…A carregar…Puxe para atualizar…Libere para atualizar…Carregando…Trage pentru a reîmprospăta…Eliberează pentru a reîmprospăta…Încărcare…Потяните для обновления…Отпустите для обновления…Загрузка…下拉刷新释放立即刷新正在载入… + + + + + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/compile-file-map.properties b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/compile-file-map.properties new file mode 100644 index 0000000..d0d4c41 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/compile-file-map.properties @@ -0,0 +1,22 @@ +#Mon Oct 12 15:12:22 CST 2020 +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\layout\\pull_to_refresh_header_vertical.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\layout\\pull_to_refresh_header_vertical.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-mdpi\\indicator_arrow.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\drawable-mdpi-v4\\indicator_arrow.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-hdpi\\default_ptr_rotate.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\drawable-hdpi-v4\\default_ptr_rotate.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\anim\\slide_out_to_bottom.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\anim\\slide_out_to_bottom.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-xhdpi\\loading_04.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\drawable-xhdpi-v4\\loading_04.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-hdpi\\indicator_arrow.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\drawable-hdpi-v4\\indicator_arrow.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\anim\\refresh_view.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\anim\\refresh_view.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\anim\\slide_in_from_top.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\anim\\slide_in_from_top.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-xhdpi\\loading_01.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\drawable-xhdpi-v4\\loading_01.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable\\indicator_bg_top.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\drawable\\indicator_bg_top.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-xhdpi\\indicator_arrow.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\drawable-xhdpi-v4\\indicator_arrow.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\anim\\slide_out_to_top.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\anim\\slide_out_to_top.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-mdpi\\default_ptr_rotate.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\drawable-mdpi-v4\\default_ptr_rotate.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-xhdpi\\loading_03.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\drawable-xhdpi-v4\\loading_03.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\layout\\pull_to_refresh_header_horizontal.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\layout\\pull_to_refresh_header_horizontal.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable\\indicator_bg_bottom.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\drawable\\indicator_bg_bottom.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable\\refresh_anim.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\drawable\\refresh_anim.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-xhdpi\\loading_02.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\drawable-xhdpi-v4\\loading_02.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\anim\\progresbar_anim.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\anim\\progresbar_anim.xml +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\drawable-xhdpi\\default_ptr_rotate.png=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\drawable-xhdpi-v4\\default_ptr_rotate.png +F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\res\\anim\\slide_in_from_bottom.xml=F\:\\202076work\\ApplicationPatient\\library_pullToRefresh\\build\\intermediates\\bundles\\release\\res\\anim\\slide_in_from_bottom.xml diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-ar/values-ar.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-ar/values-ar.xml new file mode 100644 index 0000000..7c621e0 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-ar/values-ar.xml @@ -0,0 +1,6 @@ + + + اسحب للتحديث… + تحميل… + اترك للتحديث… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-cs/values-cs.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-cs/values-cs.xml new file mode 100644 index 0000000..8c93d2f --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-cs/values-cs.xml @@ -0,0 +1,6 @@ + + + Tažením aktualizujete… + Načítání… + Uvolněním aktualizujete… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-de/values-de.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-de/values-de.xml new file mode 100644 index 0000000..cf8ca26 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-de/values-de.xml @@ -0,0 +1,6 @@ + + + Ziehen zum Aktualisieren… + Laden… + Loslassen zum Aktualisieren… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-es/values-es.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-es/values-es.xml new file mode 100644 index 0000000..774c075 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-es/values-es.xml @@ -0,0 +1,6 @@ + + + Tirar para actualizar… + Cargando… + Soltar para actualizar… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-fi/values-fi.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-fi/values-fi.xml new file mode 100644 index 0000000..573149e --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-fi/values-fi.xml @@ -0,0 +1,9 @@ + + + Päivitä vetämällä ylös… + @string/pull_to_refresh_refreshing_label + @string/pull_to_refresh_release_label + Päivitä vetämällä alas… + Päivitetään… + Päivitä vapauttamalla… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-fr/values-fr.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-fr/values-fr.xml new file mode 100644 index 0000000..0975919 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-fr/values-fr.xml @@ -0,0 +1,6 @@ + + + Tirez pour rafraîchir… + Chargement… + Relâcher pour rafraîchir… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-he/values-he.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-he/values-he.xml new file mode 100644 index 0000000..220c681 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-he/values-he.xml @@ -0,0 +1,6 @@ + + + משוך לרענון… + טוען… + שחרר לרענון… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-it/values-it.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-it/values-it.xml new file mode 100644 index 0000000..325075b --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-it/values-it.xml @@ -0,0 +1,6 @@ + + + Tira per aggiornare… + Caricamento… + Rilascia per aggionare… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-iw/values-iw.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-iw/values-iw.xml new file mode 100644 index 0000000..220c681 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-iw/values-iw.xml @@ -0,0 +1,6 @@ + + + משוך לרענון… + טוען… + שחרר לרענון… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-ja/values-ja.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-ja/values-ja.xml new file mode 100644 index 0000000..45f6760 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-ja/values-ja.xml @@ -0,0 +1,6 @@ + + + 画面を引っ張って… + 読み込み中… + 指を離して更新… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-ko/values-ko.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-ko/values-ko.xml new file mode 100644 index 0000000..89c9ea3 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-ko/values-ko.xml @@ -0,0 +1,6 @@ + + + 당겨서 새로 고침… + 로드 중… + 놓아서 새로 고침… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-nl/values-nl.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-nl/values-nl.xml new file mode 100644 index 0000000..70a3fe3 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-nl/values-nl.xml @@ -0,0 +1,6 @@ + + + Sleep om te vernieuwen… + Laden… + Loslaten om te vernieuwen… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-pl/values-pl.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-pl/values-pl.xml new file mode 100644 index 0000000..dbb5e3b --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-pl/values-pl.xml @@ -0,0 +1,6 @@ + + + Pociągnij, aby odświeżyć… + Wczytywanie… + Puść, aby odświeżyć… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-pt-rBR/values-pt-rBR.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-pt-rBR/values-pt-rBR.xml new file mode 100644 index 0000000..9d00764 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-pt-rBR/values-pt-rBR.xml @@ -0,0 +1,6 @@ + + + Puxe para atualizar… + Carregando… + Libere para atualizar… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-pt/values-pt.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-pt/values-pt.xml new file mode 100644 index 0000000..af108bd --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-pt/values-pt.xml @@ -0,0 +1,6 @@ + + + Puxe para atualizar… + A carregar… + Liberação para atualizar… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-ro/values-ro.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-ro/values-ro.xml new file mode 100644 index 0000000..ce3466a --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-ro/values-ro.xml @@ -0,0 +1,6 @@ + + + Trage pentru a reîmprospăta… + Încărcare… + Eliberează pentru a reîmprospăta… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-ru/values-ru.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-ru/values-ru.xml new file mode 100644 index 0000000..7c2072e --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-ru/values-ru.xml @@ -0,0 +1,6 @@ + + + Потяните для обновления… + Загрузка… + Отпустите для обновления… + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-zh/values-zh.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-zh/values-zh.xml new file mode 100644 index 0000000..93d4129 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values-zh/values-zh.xml @@ -0,0 +1,6 @@ + + + 下拉刷新 + 正在载入… + 释放立即刷新 + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values/values.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values/values.xml new file mode 100644 index 0000000..570e8b3 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merged.dir/values/values.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + 24dp + 12dp + 12dp + 4dp + 10dp + + + + @string/pull_to_refresh_pull_label + @string/pull_to_refresh_refreshing_label + @string/pull_to_refresh_release_label + 下拉刷新 + 正在刷新… + 释放立即刷新 + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merger.xml b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merger.xml new file mode 100644 index 0000000..3db3784 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/incremental/packageReleaseResources/merger.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10dp12dp4dp24dp12dp下拉刷新释放立即刷新正在刷新…@string/pull_to_refresh_pull_label@string/pull_to_refresh_release_label@string/pull_to_refresh_refreshing_labelاسحب للتحديث…اترك للتحديث…تحميل…Tažením aktualizujete…Uvolněním aktualizujete…Načítání…Ziehen zum Aktualisieren…Loslassen zum Aktualisieren…Laden…Tirar para actualizar…Soltar para actualizar…Cargando…Päivitä vetämällä alas…Päivitä vapauttamalla…Päivitetään…Päivitä vetämällä ylös…@string/pull_to_refresh_release_label@string/pull_to_refresh_refreshing_labelTirez pour rafraîchir…Relâcher pour rafraîchir…Chargement…משוך לרענון…שחרר לרענון…טוען…Tira per aggiornare…Rilascia per aggionare…Caricamento…משוך לרענון…שחרר לרענון…טוען…画面を引っ張って…指を離して更新…読み込み中…당겨서 새로 고침…놓아서 새로 고침…로드 중…Sleep om te vernieuwen…Loslaten om te vernieuwen…Laden…Pociągnij, aby odświeżyć…Puść, aby odświeżyć…Wczytywanie…Puxe para atualizar…Liberação para atualizar…A carregar…Puxe para atualizar…Libere para atualizar…Carregando…Trage pentru a reîmprospăta…Eliberează pentru a reîmprospăta…Încărcare…Потяните для обновления…Отпустите для обновления…Загрузка…下拉刷新释放立即刷新正在载入… + + + + + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/incremental/release-mergeJniLibs/merge-state b/library_pullToRefresh/build/intermediates/incremental/release-mergeJniLibs/merge-state new file mode 100644 index 0000000..e75a103 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/incremental/release-mergeJniLibs/merge-state differ diff --git a/library_pullToRefresh/build/intermediates/intermediate-jars/debug/classes.jar b/library_pullToRefresh/build/intermediates/intermediate-jars/debug/classes.jar new file mode 100644 index 0000000..c1fde76 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/intermediate-jars/debug/classes.jar differ diff --git a/library_pullToRefresh/build/intermediates/intermediate-jars/debug/res.jar b/library_pullToRefresh/build/intermediates/intermediate-jars/debug/res.jar new file mode 100644 index 0000000..15cb0ec Binary files /dev/null and b/library_pullToRefresh/build/intermediates/intermediate-jars/debug/res.jar differ diff --git a/library_pullToRefresh/build/intermediates/intermediate-jars/release/classes.jar b/library_pullToRefresh/build/intermediates/intermediate-jars/release/classes.jar new file mode 100644 index 0000000..2686b32 Binary files /dev/null and b/library_pullToRefresh/build/intermediates/intermediate-jars/release/classes.jar differ diff --git a/library_pullToRefresh/build/intermediates/intermediate-jars/release/res.jar b/library_pullToRefresh/build/intermediates/intermediate-jars/release/res.jar new file mode 100644 index 0000000..15cb0ec Binary files /dev/null and b/library_pullToRefresh/build/intermediates/intermediate-jars/release/res.jar differ diff --git a/library_pullToRefresh/build/intermediates/javaPrecompile/debug/annotationProcessors.json b/library_pullToRefresh/build/intermediates/javaPrecompile/debug/annotationProcessors.json new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/javaPrecompile/debug/annotationProcessors.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/javaPrecompile/release/annotationProcessors.json b/library_pullToRefresh/build/intermediates/javaPrecompile/release/annotationProcessors.json new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/javaPrecompile/release/annotationProcessors.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/manifests/aapt/debug/AndroidManifest.xml b/library_pullToRefresh/build/intermediates/manifests/aapt/debug/AndroidManifest.xml new file mode 100644 index 0000000..c3db567 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/manifests/aapt/debug/AndroidManifest.xml @@ -0,0 +1,11 @@ + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/manifests/aapt/debug/output.json b/library_pullToRefresh/build/intermediates/manifests/aapt/debug/output.json new file mode 100644 index 0000000..a5993a7 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/manifests/aapt/debug/output.json @@ -0,0 +1 @@ +[{"outputType":{"type":"AAPT_FRIENDLY_MERGED_MANIFESTS"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":2110},"path":"AndroidManifest.xml","properties":{"packageId":"com.handmark.pulltorefresh.library","split":""}}] \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/manifests/aapt/release/AndroidManifest.xml b/library_pullToRefresh/build/intermediates/manifests/aapt/release/AndroidManifest.xml new file mode 100644 index 0000000..c3db567 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/manifests/aapt/release/AndroidManifest.xml @@ -0,0 +1,11 @@ + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/manifests/aapt/release/output.json b/library_pullToRefresh/build/intermediates/manifests/aapt/release/output.json new file mode 100644 index 0000000..a5993a7 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/manifests/aapt/release/output.json @@ -0,0 +1 @@ +[{"outputType":{"type":"AAPT_FRIENDLY_MERGED_MANIFESTS"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":2110},"path":"AndroidManifest.xml","properties":{"packageId":"com.handmark.pulltorefresh.library","split":""}}] \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/manifests/full/debug/AndroidManifest.xml b/library_pullToRefresh/build/intermediates/manifests/full/debug/AndroidManifest.xml new file mode 100644 index 0000000..c3db567 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/manifests/full/debug/AndroidManifest.xml @@ -0,0 +1,11 @@ + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/manifests/full/debug/output.json b/library_pullToRefresh/build/intermediates/manifests/full/debug/output.json new file mode 100644 index 0000000..bd23df7 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/manifests/full/debug/output.json @@ -0,0 +1 @@ +[{"outputType":{"type":"MERGED_MANIFESTS"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":2110},"path":"AndroidManifest.xml","properties":{"packageId":"com.handmark.pulltorefresh.library","split":""}}] \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/manifests/full/release/AndroidManifest.xml b/library_pullToRefresh/build/intermediates/manifests/full/release/AndroidManifest.xml new file mode 100644 index 0000000..c3db567 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/manifests/full/release/AndroidManifest.xml @@ -0,0 +1,11 @@ + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/manifests/full/release/output.json b/library_pullToRefresh/build/intermediates/manifests/full/release/output.json new file mode 100644 index 0000000..bd23df7 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/manifests/full/release/output.json @@ -0,0 +1 @@ +[{"outputType":{"type":"MERGED_MANIFESTS"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":2110},"path":"AndroidManifest.xml","properties":{"packageId":"com.handmark.pulltorefresh.library","split":""}}] \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/res/debug/output.json b/library_pullToRefresh/build/intermediates/res/debug/output.json new file mode 100644 index 0000000..09ed7a2 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/res/debug/output.json @@ -0,0 +1 @@ +[{"outputType":{"type":"PROCESSED_RES"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":2110},"path":"resources-debug.ap_","properties":{"packageId":"com.handmark.pulltorefresh.library","split":""}}] \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/res/release/output.json b/library_pullToRefresh/build/intermediates/res/release/output.json new file mode 100644 index 0000000..a3bd80f --- /dev/null +++ b/library_pullToRefresh/build/intermediates/res/release/output.json @@ -0,0 +1 @@ +[{"outputType":{"type":"PROCESSED_RES"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":2110},"path":"resources-release.ap_","properties":{"packageId":"com.handmark.pulltorefresh.library","split":""}}] \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt b/library_pullToRefresh/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt new file mode 100644 index 0000000..daf889a --- /dev/null +++ b/library_pullToRefresh/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt @@ -0,0 +1,76 @@ +com.handmark.pulltorefresh.library +int anim progresbar_anim 0x7f010001 +int anim refresh_view 0x7f010002 +int anim slide_in_from_bottom 0x7f010003 +int anim slide_in_from_top 0x7f010004 +int anim slide_out_to_bottom 0x7f010005 +int anim slide_out_to_top 0x7f010006 +int attr ptrAdapterViewBackground 0x7f040001 +int attr ptrAnimationStyle 0x7f040002 +int attr ptrDrawable 0x7f040003 +int attr ptrDrawableBottom 0x7f040004 +int attr ptrDrawableEnd 0x7f040005 +int attr ptrDrawableStart 0x7f040006 +int attr ptrDrawableTop 0x7f040007 +int attr ptrHeaderBackground 0x7f040008 +int attr ptrHeaderSubTextColor 0x7f040009 +int attr ptrHeaderTextAppearance 0x7f04000a +int attr ptrHeaderTextColor 0x7f04000b +int attr ptrListViewExtrasEnabled 0x7f04000c +int attr ptrMode 0x7f04000d +int attr ptrOverScroll 0x7f04000e +int attr ptrRefreshableViewBackground 0x7f04000f +int attr ptrRotateDrawableWhilePulling 0x7f040010 +int attr ptrScrollingWhileRefreshingEnabled 0x7f040011 +int attr ptrShowIndicator 0x7f040012 +int attr ptrSubHeaderTextAppearance 0x7f040013 +int dimen header_footer_left_right_padding 0x7f080001 +int dimen header_footer_top_bottom_padding 0x7f080002 +int dimen indicator_corner_radius 0x7f080003 +int dimen indicator_internal_padding 0x7f080004 +int dimen indicator_right_padding 0x7f080005 +int drawable default_ptr_rotate 0x7f090001 +int drawable indicator_arrow 0x7f090002 +int drawable indicator_bg_bottom 0x7f090003 +int drawable indicator_bg_top 0x7f090004 +int drawable loading_01 0x7f090005 +int drawable loading_02 0x7f090006 +int drawable loading_03 0x7f090007 +int drawable loading_04 0x7f090008 +int drawable refresh_anim 0x7f090009 +int id fl_inner 0x7f0c0001 +int id gridview 0x7f0c0002 +int id pull_to_refresh_image 0x7f0c0003 +int id pull_to_refresh_progress 0x7f0c0004 +int id pull_to_refresh_sub_text 0x7f0c0005 +int id pull_to_refresh_text 0x7f0c0006 +int id scrollview 0x7f0c0007 +int id webview 0x7f0c0008 +int layout pull_to_refresh_header_horizontal 0x7f0f0001 +int layout pull_to_refresh_header_vertical 0x7f0f0002 +int string pull_to_refresh_from_bottom_pull_label 0x7f150001 +int string pull_to_refresh_from_bottom_refreshing_label 0x7f150002 +int string pull_to_refresh_from_bottom_release_label 0x7f150003 +int string pull_to_refresh_pull_label 0x7f150004 +int string pull_to_refresh_refreshing_label 0x7f150005 +int string pull_to_refresh_release_label 0x7f150006 +int[] styleable PullToRefresh { 0x7f040001, 0x7f040002, 0x7f040003, 0x7f040004, 0x7f040005, 0x7f040006, 0x7f040007, 0x7f040008, 0x7f040009, 0x7f04000a, 0x7f04000b, 0x7f04000c, 0x7f04000d, 0x7f04000e, 0x7f04000f, 0x7f040010, 0x7f040011, 0x7f040012, 0x7f040013 } +int styleable PullToRefresh_ptrAdapterViewBackground 0 +int styleable PullToRefresh_ptrAnimationStyle 1 +int styleable PullToRefresh_ptrDrawable 2 +int styleable PullToRefresh_ptrDrawableBottom 3 +int styleable PullToRefresh_ptrDrawableEnd 4 +int styleable PullToRefresh_ptrDrawableStart 5 +int styleable PullToRefresh_ptrDrawableTop 6 +int styleable PullToRefresh_ptrHeaderBackground 7 +int styleable PullToRefresh_ptrHeaderSubTextColor 8 +int styleable PullToRefresh_ptrHeaderTextAppearance 9 +int styleable PullToRefresh_ptrHeaderTextColor 10 +int styleable PullToRefresh_ptrListViewExtrasEnabled 11 +int styleable PullToRefresh_ptrMode 12 +int styleable PullToRefresh_ptrOverScroll 13 +int styleable PullToRefresh_ptrRefreshableViewBackground 14 +int styleable PullToRefresh_ptrRotateDrawableWhilePulling 15 +int styleable PullToRefresh_ptrScrollingWhileRefreshingEnabled 16 +int styleable PullToRefresh_ptrShowIndicator 17 +int styleable PullToRefresh_ptrSubHeaderTextAppearance 18 diff --git a/library_pullToRefresh/build/intermediates/res/symbol-table-with-package/release/package-aware-r.txt b/library_pullToRefresh/build/intermediates/res/symbol-table-with-package/release/package-aware-r.txt new file mode 100644 index 0000000..daf889a --- /dev/null +++ b/library_pullToRefresh/build/intermediates/res/symbol-table-with-package/release/package-aware-r.txt @@ -0,0 +1,76 @@ +com.handmark.pulltorefresh.library +int anim progresbar_anim 0x7f010001 +int anim refresh_view 0x7f010002 +int anim slide_in_from_bottom 0x7f010003 +int anim slide_in_from_top 0x7f010004 +int anim slide_out_to_bottom 0x7f010005 +int anim slide_out_to_top 0x7f010006 +int attr ptrAdapterViewBackground 0x7f040001 +int attr ptrAnimationStyle 0x7f040002 +int attr ptrDrawable 0x7f040003 +int attr ptrDrawableBottom 0x7f040004 +int attr ptrDrawableEnd 0x7f040005 +int attr ptrDrawableStart 0x7f040006 +int attr ptrDrawableTop 0x7f040007 +int attr ptrHeaderBackground 0x7f040008 +int attr ptrHeaderSubTextColor 0x7f040009 +int attr ptrHeaderTextAppearance 0x7f04000a +int attr ptrHeaderTextColor 0x7f04000b +int attr ptrListViewExtrasEnabled 0x7f04000c +int attr ptrMode 0x7f04000d +int attr ptrOverScroll 0x7f04000e +int attr ptrRefreshableViewBackground 0x7f04000f +int attr ptrRotateDrawableWhilePulling 0x7f040010 +int attr ptrScrollingWhileRefreshingEnabled 0x7f040011 +int attr ptrShowIndicator 0x7f040012 +int attr ptrSubHeaderTextAppearance 0x7f040013 +int dimen header_footer_left_right_padding 0x7f080001 +int dimen header_footer_top_bottom_padding 0x7f080002 +int dimen indicator_corner_radius 0x7f080003 +int dimen indicator_internal_padding 0x7f080004 +int dimen indicator_right_padding 0x7f080005 +int drawable default_ptr_rotate 0x7f090001 +int drawable indicator_arrow 0x7f090002 +int drawable indicator_bg_bottom 0x7f090003 +int drawable indicator_bg_top 0x7f090004 +int drawable loading_01 0x7f090005 +int drawable loading_02 0x7f090006 +int drawable loading_03 0x7f090007 +int drawable loading_04 0x7f090008 +int drawable refresh_anim 0x7f090009 +int id fl_inner 0x7f0c0001 +int id gridview 0x7f0c0002 +int id pull_to_refresh_image 0x7f0c0003 +int id pull_to_refresh_progress 0x7f0c0004 +int id pull_to_refresh_sub_text 0x7f0c0005 +int id pull_to_refresh_text 0x7f0c0006 +int id scrollview 0x7f0c0007 +int id webview 0x7f0c0008 +int layout pull_to_refresh_header_horizontal 0x7f0f0001 +int layout pull_to_refresh_header_vertical 0x7f0f0002 +int string pull_to_refresh_from_bottom_pull_label 0x7f150001 +int string pull_to_refresh_from_bottom_refreshing_label 0x7f150002 +int string pull_to_refresh_from_bottom_release_label 0x7f150003 +int string pull_to_refresh_pull_label 0x7f150004 +int string pull_to_refresh_refreshing_label 0x7f150005 +int string pull_to_refresh_release_label 0x7f150006 +int[] styleable PullToRefresh { 0x7f040001, 0x7f040002, 0x7f040003, 0x7f040004, 0x7f040005, 0x7f040006, 0x7f040007, 0x7f040008, 0x7f040009, 0x7f04000a, 0x7f04000b, 0x7f04000c, 0x7f04000d, 0x7f04000e, 0x7f04000f, 0x7f040010, 0x7f040011, 0x7f040012, 0x7f040013 } +int styleable PullToRefresh_ptrAdapterViewBackground 0 +int styleable PullToRefresh_ptrAnimationStyle 1 +int styleable PullToRefresh_ptrDrawable 2 +int styleable PullToRefresh_ptrDrawableBottom 3 +int styleable PullToRefresh_ptrDrawableEnd 4 +int styleable PullToRefresh_ptrDrawableStart 5 +int styleable PullToRefresh_ptrDrawableTop 6 +int styleable PullToRefresh_ptrHeaderBackground 7 +int styleable PullToRefresh_ptrHeaderSubTextColor 8 +int styleable PullToRefresh_ptrHeaderTextAppearance 9 +int styleable PullToRefresh_ptrHeaderTextColor 10 +int styleable PullToRefresh_ptrListViewExtrasEnabled 11 +int styleable PullToRefresh_ptrMode 12 +int styleable PullToRefresh_ptrOverScroll 13 +int styleable PullToRefresh_ptrRefreshableViewBackground 14 +int styleable PullToRefresh_ptrRotateDrawableWhilePulling 15 +int styleable PullToRefresh_ptrScrollingWhileRefreshingEnabled 16 +int styleable PullToRefresh_ptrShowIndicator 17 +int styleable PullToRefresh_ptrSubHeaderTextAppearance 18 diff --git a/library_pullToRefresh/build/intermediates/transforms/mergeJniLibs/debug/__content__.json b/library_pullToRefresh/build/intermediates/transforms/mergeJniLibs/debug/__content__.json new file mode 100644 index 0000000..49b1382 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/transforms/mergeJniLibs/debug/__content__.json @@ -0,0 +1 @@ +[{"name":"resources","index":0,"scopes":["PROJECT"],"types":["NATIVE_LIBS"],"format":"DIRECTORY","present":false}] \ No newline at end of file diff --git a/library_pullToRefresh/build/intermediates/transforms/mergeJniLibs/release/__content__.json b/library_pullToRefresh/build/intermediates/transforms/mergeJniLibs/release/__content__.json new file mode 100644 index 0000000..49b1382 --- /dev/null +++ b/library_pullToRefresh/build/intermediates/transforms/mergeJniLibs/release/__content__.json @@ -0,0 +1 @@ +[{"name":"resources","index":0,"scopes":["PROJECT"],"types":["NATIVE_LIBS"],"format":"DIRECTORY","present":false}] \ No newline at end of file diff --git a/library_pullToRefresh/build/outputs/logs/manifest-merger-debug-report.txt b/library_pullToRefresh/build/outputs/logs/manifest-merger-debug-report.txt new file mode 100644 index 0000000..67fe89c --- /dev/null +++ b/library_pullToRefresh/build/outputs/logs/manifest-merger-debug-report.txt @@ -0,0 +1,29 @@ +-- Merging decision tree log --- +manifest +ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:1-11:12 +INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:1-11:12 +INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:1-11:12 +INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:1-11:12 +INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:1-11:12 +INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:1-11:12 +INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:1-11:12 + package + ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:3:5-49 + INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml + INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml + android:versionName + ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:5:5-32 + INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml + INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml + xmlns:android + ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:11-69 + android:versionCode + ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:4:5-31 + INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml + INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml +uses-sdk +ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:7:5-43 + android:minSdkVersion + ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:7:15-40 +application +ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:9:5-20 diff --git a/library_pullToRefresh/build/outputs/logs/manifest-merger-release-report.txt b/library_pullToRefresh/build/outputs/logs/manifest-merger-release-report.txt new file mode 100644 index 0000000..67fe89c --- /dev/null +++ b/library_pullToRefresh/build/outputs/logs/manifest-merger-release-report.txt @@ -0,0 +1,29 @@ +-- Merging decision tree log --- +manifest +ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:1-11:12 +INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:1-11:12 +INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:1-11:12 +INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:1-11:12 +INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:1-11:12 +INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:1-11:12 +INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:1-11:12 + package + ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:3:5-49 + INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml + INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml + android:versionName + ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:5:5-32 + INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml + INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml + xmlns:android + ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:2:11-69 + android:versionCode + ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:4:5-31 + INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml + INJECTED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml +uses-sdk +ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:7:5-43 + android:minSdkVersion + ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:7:15-40 +application +ADDED from F:\202076work\ApplicationPatient\library_pullToRefresh\AndroidManifest.xml:9:5-20 diff --git a/library_pullToRefresh/gen/com/handmark/pulltorefresh/library/BuildConfig.java b/library_pullToRefresh/gen/com/handmark/pulltorefresh/library/BuildConfig.java new file mode 100644 index 0000000..2358e13 --- /dev/null +++ b/library_pullToRefresh/gen/com/handmark/pulltorefresh/library/BuildConfig.java @@ -0,0 +1,6 @@ +/** Automatically generated file. DO NOT MODIFY */ +package com.handmark.pulltorefresh.library; + +public final class BuildConfig { + public final static boolean DEBUG = true; +} \ No newline at end of file diff --git a/library_pullToRefresh/gen/com/handmark/pulltorefresh/library/R.java b/library_pullToRefresh/gen/com/handmark/pulltorefresh/library/R.java new file mode 100644 index 0000000..b3aa5b8 --- /dev/null +++ b/library_pullToRefresh/gen/com/handmark/pulltorefresh/library/R.java @@ -0,0 +1,560 @@ +/* AUTO-GENERATED FILE. DO NOT MODIFY. + * + * This class was automatically generated by the + * aapt tool from the resource data it found. It + * should not be modified by hand. + */ + +package com.handmark.pulltorefresh.library; + +public final class R { + public static final class anim { + public static int progresbar_anim=0x7f040000; + public static int refresh_view=0x7f040001; + public static int slide_in_from_bottom=0x7f040002; + public static int slide_in_from_top=0x7f040003; + public static int slide_out_to_bottom=0x7f040004; + public static int slide_out_to_top=0x7f040005; + } + public static final class attr { + /** BELOW HERE ARE DEPRECEATED. DO NOT USE. +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a color value, in the form of "#rgb", "#argb", +"#rrggbb", or "#aarrggbb". + */ + public static int ptrAdapterViewBackground=0x7f010010; + /** Style of Animation should be used displayed when pulling. +

Must be one or more (separated by '|') of the following constant values.

+ ++++ + + +
ConstantValueDescription
rotate0x0
flip0x1 flip(翻转动画), rotate(旋转动画)
+ */ + public static int ptrAnimationStyle=0x7f01000c; + /** Drawable to use as Loading Indicator. Changes both Header and Footer. + 同时改变头部和底部的图标 +

Must be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". + */ + public static int ptrDrawable=0x7f010006; + /**

Must be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". + */ + public static int ptrDrawableBottom=0x7f010012; + /** Drawable to use as Loading Indicator in the Footer View. Overrides value set in ptrDrawable. + 底部视图的图标 +

Must be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". + */ + public static int ptrDrawableEnd=0x7f010008; + /** Drawable to use as Loading Indicator in the Header View. Overrides value set in ptrDrawable. + 头部视图的图标 +

Must be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". + */ + public static int ptrDrawableStart=0x7f010007; + /**

Must be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". + */ + public static int ptrDrawableTop=0x7f010011; + /** A drawable to use as the background of the Header and Footer Loading Views + 设置下拉Header或者上拉Footer的背景色 +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a color value, in the form of "#rgb", "#argb", +"#rrggbb", or "#aarrggbb". + */ + public static int ptrHeaderBackground=0x7f010001; + /** Text Color of the Header and Footer Loading Views Sub Header + 用于设置Header与Footer中上次刷新时间的颜色 +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a color value, in the form of "#rgb", "#argb", +"#rrggbb", or "#aarrggbb". + */ + public static int ptrHeaderSubTextColor=0x7f010003; + /** Base text color, typeface, size, and style for Header and Footer Loading Views + 分别设置拉Header或者上拉Footer中字体的类型颜色等等 +

Must be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". + */ + public static int ptrHeaderTextAppearance=0x7f01000a; + /** Text Color of the Header and Footer Loading Views + 用于设置Header与Footer中文本的颜色 +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a color value, in the form of "#rgb", "#argb", +"#rrggbb", or "#aarrggbb". + */ + public static int ptrHeaderTextColor=0x7f010002; + /** + Whether PullToRefreshListView has it's extras enabled. This allows the user to be + able to scroll while refreshing, and behaves better. It acheives this by adding + Header and/or Footer Views to the ListView. + + 决定了Header,Footer以何种方式加入mPullRefreshListView,true为headView方式加入,就是滚动时刷新头部会一起滚动 +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a boolean value, either "true" or "false". + */ + public static int ptrListViewExtrasEnabled=0x7f01000e; + /** Mode of Pull-to-Refresh that should be used +

Must be one or more (separated by '|') of the following constant values.

+ ++++ + + + + + + + +
ConstantValueDescription
disabled0x0
pullFromStart0x1 禁用下拉刷新
pullFromEnd0x2 仅支持下拉刷新
both0x3 仅支持上拉刷新
manualOnly0x4 上拉刷新和下拉刷新都支持
pullDownFromTop0x1 只允许手动触发 + These last two are depreacted
pullUpFromBottom0x2
+ */ + public static int ptrMode=0x7f010004; + /** Whether Android's built-in Over Scroll should be utilised for Pull-to-Refresh. +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a boolean value, either "true" or "false". + */ + public static int ptrOverScroll=0x7f010009; + /** A drawable to use as the background of the Refreshable View + 设置整个刷新列表的背景色 +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a color value, in the form of "#rgb", "#argb", +"#rrggbb", or "#aarrggbb". + */ + public static int ptrRefreshableViewBackground=0x7f010000; + /** + Whether the Drawable should be continually rotated as you pull. This only + takes effect when using the 'Rotate' Animation Style. + +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a boolean value, either "true" or "false". + */ + public static int ptrRotateDrawableWhilePulling=0x7f01000f; + /** Whether the user can scroll while the View is Refreshing + 刷新的时候,是否允许ListView或GridView滚动 +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a boolean value, either "true" or "false". + */ + public static int ptrScrollingWhileRefreshingEnabled=0x7f01000d; + /** Whether the Indicator overlay(s) should be used + 如果为true会在mPullRefreshListView中出现icon,右上角和右下角,挺有意思的 +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a boolean value, either "true" or "false". + */ + public static int ptrShowIndicator=0x7f010005; + /** Base text color, typeface, size, and style for Header and Footer Loading Views Sub Header +

Must be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". + */ + public static int ptrSubHeaderTextAppearance=0x7f01000b; + } + public static final class dimen { + public static int header_footer_left_right_padding=0x7f050003; + public static int header_footer_top_bottom_padding=0x7f050004; + public static int indicator_corner_radius=0x7f050001; + public static int indicator_internal_padding=0x7f050002; + public static int indicator_right_padding=0x7f050000; + } + public static final class drawable { + public static int default_ptr_rotate=0x7f020000; + public static int indicator_arrow=0x7f020001; + public static int indicator_bg_bottom=0x7f020002; + public static int indicator_bg_top=0x7f020003; + public static int loading_01=0x7f020004; + public static int loading_02=0x7f020005; + public static int loading_03=0x7f020006; + public static int loading_04=0x7f020007; + public static int refresh_anim=0x7f020008; + } + public static final class id { + public static int both=0x7f060003; + public static int disabled=0x7f060004; + public static int fl_inner=0x7f06000c; + public static int flip=0x7f06000a; + public static int gridview=0x7f060000; + public static int manualOnly=0x7f060005; + public static int pullDownFromTop=0x7f060006; + public static int pullFromEnd=0x7f060007; + public static int pullFromStart=0x7f060008; + public static int pullUpFromBottom=0x7f060009; + public static int pull_to_refresh_image=0x7f06000d; + public static int pull_to_refresh_progress=0x7f06000e; + public static int pull_to_refresh_sub_text=0x7f060010; + public static int pull_to_refresh_text=0x7f06000f; + public static int rotate=0x7f06000b; + public static int scrollview=0x7f060002; + public static int webview=0x7f060001; + } + public static final class layout { + public static int pull_to_refresh_header_horizontal=0x7f030000; + public static int pull_to_refresh_header_vertical=0x7f030001; + } + public static final class string { + /** Just use standard Pull Down String when pulling up. These can be set for languages which require it + Just use standard Pull Down String when pulling up. These can be set for languages which require it + */ + public static int pull_to_refresh_from_bottom_pull_label=0x7f070003; + public static int pull_to_refresh_from_bottom_refreshing_label=0x7f070005; + public static int pull_to_refresh_from_bottom_release_label=0x7f070004; + public static int pull_to_refresh_pull_label=0x7f070000; + public static int pull_to_refresh_refreshing_label=0x7f070002; + public static int pull_to_refresh_release_label=0x7f070001; + } + public static final class styleable { + /** Attributes that can be used with a PullToRefresh. +

Includes the following attributes:

+ + + + + + + + + + + + + + + + + + + + + + + +
AttributeDescription
{@link #PullToRefresh_ptrAdapterViewBackground com.handmark.pulltorefresh.library:ptrAdapterViewBackground} BELOW HERE ARE DEPRECEATED.
{@link #PullToRefresh_ptrAnimationStyle com.handmark.pulltorefresh.library:ptrAnimationStyle} Style of Animation should be used displayed when pulling.
{@link #PullToRefresh_ptrDrawable com.handmark.pulltorefresh.library:ptrDrawable} Drawable to use as Loading Indicator.
{@link #PullToRefresh_ptrDrawableBottom com.handmark.pulltorefresh.library:ptrDrawableBottom}
{@link #PullToRefresh_ptrDrawableEnd com.handmark.pulltorefresh.library:ptrDrawableEnd} Drawable to use as Loading Indicator in the Footer View.
{@link #PullToRefresh_ptrDrawableStart com.handmark.pulltorefresh.library:ptrDrawableStart} Drawable to use as Loading Indicator in the Header View.
{@link #PullToRefresh_ptrDrawableTop com.handmark.pulltorefresh.library:ptrDrawableTop}
{@link #PullToRefresh_ptrHeaderBackground com.handmark.pulltorefresh.library:ptrHeaderBackground} A drawable to use as the background of the Header and Footer Loading Views + 设置下拉Header或者上拉Footer的背景色
{@link #PullToRefresh_ptrHeaderSubTextColor com.handmark.pulltorefresh.library:ptrHeaderSubTextColor} Text Color of the Header and Footer Loading Views Sub Header + 用于设置Header与Footer中上次刷新时间的颜色
{@link #PullToRefresh_ptrHeaderTextAppearance com.handmark.pulltorefresh.library:ptrHeaderTextAppearance} Base text color, typeface, size, and style for Header and Footer Loading Views + 分别设置拉Header或者上拉Footer中字体的类型颜色等等
{@link #PullToRefresh_ptrHeaderTextColor com.handmark.pulltorefresh.library:ptrHeaderTextColor} Text Color of the Header and Footer Loading Views + 用于设置Header与Footer中文本的颜色
{@link #PullToRefresh_ptrListViewExtrasEnabled com.handmark.pulltorefresh.library:ptrListViewExtrasEnabled} + Whether PullToRefreshListView has it's extras enabled.
{@link #PullToRefresh_ptrMode com.handmark.pulltorefresh.library:ptrMode} Mode of Pull-to-Refresh that should be used
{@link #PullToRefresh_ptrOverScroll com.handmark.pulltorefresh.library:ptrOverScroll} Whether Android's built-in Over Scroll should be utilised for Pull-to-Refresh.
{@link #PullToRefresh_ptrRefreshableViewBackground com.handmark.pulltorefresh.library:ptrRefreshableViewBackground} A drawable to use as the background of the Refreshable View + 设置整个刷新列表的背景色
{@link #PullToRefresh_ptrRotateDrawableWhilePulling com.handmark.pulltorefresh.library:ptrRotateDrawableWhilePulling} + Whether the Drawable should be continually rotated as you pull.
{@link #PullToRefresh_ptrScrollingWhileRefreshingEnabled com.handmark.pulltorefresh.library:ptrScrollingWhileRefreshingEnabled} Whether the user can scroll while the View is Refreshing + 刷新的时候,是否允许ListView或GridView滚动
{@link #PullToRefresh_ptrShowIndicator com.handmark.pulltorefresh.library:ptrShowIndicator} Whether the Indicator overlay(s) should be used + 如果为true会在mPullRefreshListView中出现icon,右上角和右下角,挺有意思的
{@link #PullToRefresh_ptrSubHeaderTextAppearance com.handmark.pulltorefresh.library:ptrSubHeaderTextAppearance} Base text color, typeface, size, and style for Header and Footer Loading Views Sub Header
+ @see #PullToRefresh_ptrAdapterViewBackground + @see #PullToRefresh_ptrAnimationStyle + @see #PullToRefresh_ptrDrawable + @see #PullToRefresh_ptrDrawableBottom + @see #PullToRefresh_ptrDrawableEnd + @see #PullToRefresh_ptrDrawableStart + @see #PullToRefresh_ptrDrawableTop + @see #PullToRefresh_ptrHeaderBackground + @see #PullToRefresh_ptrHeaderSubTextColor + @see #PullToRefresh_ptrHeaderTextAppearance + @see #PullToRefresh_ptrHeaderTextColor + @see #PullToRefresh_ptrListViewExtrasEnabled + @see #PullToRefresh_ptrMode + @see #PullToRefresh_ptrOverScroll + @see #PullToRefresh_ptrRefreshableViewBackground + @see #PullToRefresh_ptrRotateDrawableWhilePulling + @see #PullToRefresh_ptrScrollingWhileRefreshingEnabled + @see #PullToRefresh_ptrShowIndicator + @see #PullToRefresh_ptrSubHeaderTextAppearance + */ + public static final int[] PullToRefresh = { + 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, + 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, + 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, + 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, + 0x7f010010, 0x7f010011, 0x7f010012 + }; + /** +

+ @attr description + BELOW HERE ARE DEPRECEATED. DO NOT USE. + + +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a color value, in the form of "#rgb", "#argb", +"#rrggbb", or "#aarrggbb". +

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrAdapterViewBackground + */ + public static int PullToRefresh_ptrAdapterViewBackground = 16; + /** +

+ @attr description + Style of Animation should be used displayed when pulling. + + +

Must be one or more (separated by '|') of the following constant values.

+ ++++ + + +
ConstantValueDescription
rotate0x0
flip0x1 flip(翻转动画), rotate(旋转动画)
+

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrAnimationStyle + */ + public static int PullToRefresh_ptrAnimationStyle = 12; + /** +

+ @attr description + Drawable to use as Loading Indicator. Changes both Header and Footer. + 同时改变头部和底部的图标 + + +

Must be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrDrawable + */ + public static int PullToRefresh_ptrDrawable = 6; + /** +

This symbol is the offset where the {@link com.handmark.pulltorefresh.library.R.attr#ptrDrawableBottom} + attribute's value can be found in the {@link #PullToRefresh} array. + + +

Must be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". + @attr name com.handmark.pulltorefresh.library:ptrDrawableBottom + */ + public static int PullToRefresh_ptrDrawableBottom = 18; + /** +

+ @attr description + Drawable to use as Loading Indicator in the Footer View. Overrides value set in ptrDrawable. + 底部视图的图标 + + +

Must be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrDrawableEnd + */ + public static int PullToRefresh_ptrDrawableEnd = 8; + /** +

+ @attr description + Drawable to use as Loading Indicator in the Header View. Overrides value set in ptrDrawable. + 头部视图的图标 + + +

Must be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrDrawableStart + */ + public static int PullToRefresh_ptrDrawableStart = 7; + /** +

This symbol is the offset where the {@link com.handmark.pulltorefresh.library.R.attr#ptrDrawableTop} + attribute's value can be found in the {@link #PullToRefresh} array. + + +

Must be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". + @attr name com.handmark.pulltorefresh.library:ptrDrawableTop + */ + public static int PullToRefresh_ptrDrawableTop = 17; + /** +

+ @attr description + A drawable to use as the background of the Header and Footer Loading Views + 设置下拉Header或者上拉Footer的背景色 + + +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a color value, in the form of "#rgb", "#argb", +"#rrggbb", or "#aarrggbb". +

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrHeaderBackground + */ + public static int PullToRefresh_ptrHeaderBackground = 1; + /** +

+ @attr description + Text Color of the Header and Footer Loading Views Sub Header + 用于设置Header与Footer中上次刷新时间的颜色 + + +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a color value, in the form of "#rgb", "#argb", +"#rrggbb", or "#aarrggbb". +

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrHeaderSubTextColor + */ + public static int PullToRefresh_ptrHeaderSubTextColor = 3; + /** +

+ @attr description + Base text color, typeface, size, and style for Header and Footer Loading Views + 分别设置拉Header或者上拉Footer中字体的类型颜色等等 + + +

Must be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrHeaderTextAppearance + */ + public static int PullToRefresh_ptrHeaderTextAppearance = 10; + /** +

+ @attr description + Text Color of the Header and Footer Loading Views + 用于设置Header与Footer中文本的颜色 + + +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a color value, in the form of "#rgb", "#argb", +"#rrggbb", or "#aarrggbb". +

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrHeaderTextColor + */ + public static int PullToRefresh_ptrHeaderTextColor = 2; + /** +

+ @attr description + + Whether PullToRefreshListView has it's extras enabled. This allows the user to be + able to scroll while refreshing, and behaves better. It acheives this by adding + Header and/or Footer Views to the ListView. + + 决定了Header,Footer以何种方式加入mPullRefreshListView,true为headView方式加入,就是滚动时刷新头部会一起滚动 + + +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a boolean value, either "true" or "false". +

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrListViewExtrasEnabled + */ + public static int PullToRefresh_ptrListViewExtrasEnabled = 14; + /** +

+ @attr description + Mode of Pull-to-Refresh that should be used + + +

Must be one or more (separated by '|') of the following constant values.

+ ++++ + + + + + + + +
ConstantValueDescription
disabled0x0
pullFromStart0x1 禁用下拉刷新
pullFromEnd0x2 仅支持下拉刷新
both0x3 仅支持上拉刷新
manualOnly0x4 上拉刷新和下拉刷新都支持
pullDownFromTop0x1 只允许手动触发 + These last two are depreacted
pullUpFromBottom0x2
+

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrMode + */ + public static int PullToRefresh_ptrMode = 4; + /** +

+ @attr description + Whether Android's built-in Over Scroll should be utilised for Pull-to-Refresh. + + +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a boolean value, either "true" or "false". +

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrOverScroll + */ + public static int PullToRefresh_ptrOverScroll = 9; + /** +

+ @attr description + A drawable to use as the background of the Refreshable View + 设置整个刷新列表的背景色 + + +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a color value, in the form of "#rgb", "#argb", +"#rrggbb", or "#aarrggbb". +

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrRefreshableViewBackground + */ + public static int PullToRefresh_ptrRefreshableViewBackground = 0; + /** +

+ @attr description + + Whether the Drawable should be continually rotated as you pull. This only + takes effect when using the 'Rotate' Animation Style. + + + +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a boolean value, either "true" or "false". +

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrRotateDrawableWhilePulling + */ + public static int PullToRefresh_ptrRotateDrawableWhilePulling = 15; + /** +

+ @attr description + Whether the user can scroll while the View is Refreshing + 刷新的时候,是否允许ListView或GridView滚动 + + +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a boolean value, either "true" or "false". +

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrScrollingWhileRefreshingEnabled + */ + public static int PullToRefresh_ptrScrollingWhileRefreshingEnabled = 13; + /** +

+ @attr description + Whether the Indicator overlay(s) should be used + 如果为true会在mPullRefreshListView中出现icon,右上角和右下角,挺有意思的 + + +

May be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

May be a boolean value, either "true" or "false". +

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrShowIndicator + */ + public static int PullToRefresh_ptrShowIndicator = 5; + /** +

+ @attr description + Base text color, typeface, size, and style for Header and Footer Loading Views Sub Header + + +

Must be a reference to another resource, in the form "@[+][package:]type:name" +or to a theme attribute in the form "?[package:][type:]name". +

This is a private symbol. + @attr name com.handmark.pulltorefresh.library:ptrSubHeaderTextAppearance + */ + public static int PullToRefresh_ptrSubHeaderTextAppearance = 11; + }; +} diff --git a/library_pullToRefresh/lint.xml b/library_pullToRefresh/lint.xml new file mode 100644 index 0000000..715caf3 --- /dev/null +++ b/library_pullToRefresh/lint.xml @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/pom.xml b/library_pullToRefresh/pom.xml new file mode 100644 index 0000000..6b48e0a --- /dev/null +++ b/library_pullToRefresh/pom.xml @@ -0,0 +1,34 @@ + + + 4.0.0 + + com.github.chrisbanes.pulltorefresh + library + apklib + Android-PullToRefresh Library + + + com.github.chrisbanes.pulltorefresh + parent + 2.1.2-SNAPSHOT + + + + + com.google.android + android + + + + + + com.jayway.maven.plugins.android.generation2 + android-maven-plugin + + + org.apache.maven.plugins + maven-eclipse-plugin + + + + diff --git a/library_pullToRefresh/project.properties b/library_pullToRefresh/project.properties new file mode 100644 index 0000000..95228a4 --- /dev/null +++ b/library_pullToRefresh/project.properties @@ -0,0 +1,12 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-22 +android.library=true diff --git a/library_pullToRefresh/res/anim/progresbar_anim.xml b/library_pullToRefresh/res/anim/progresbar_anim.xml new file mode 100644 index 0000000..9783fc6 --- /dev/null +++ b/library_pullToRefresh/res/anim/progresbar_anim.xml @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/library_pullToRefresh/res/anim/refresh_view.xml b/library_pullToRefresh/res/anim/refresh_view.xml new file mode 100644 index 0000000..751d2da --- /dev/null +++ b/library_pullToRefresh/res/anim/refresh_view.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/library_pullToRefresh/res/anim/slide_in_from_bottom.xml b/library_pullToRefresh/res/anim/slide_in_from_bottom.xml new file mode 100644 index 0000000..bb430ce --- /dev/null +++ b/library_pullToRefresh/res/anim/slide_in_from_bottom.xml @@ -0,0 +1,21 @@ + + + + diff --git a/library_pullToRefresh/res/anim/slide_in_from_top.xml b/library_pullToRefresh/res/anim/slide_in_from_top.xml new file mode 100644 index 0000000..52d91af --- /dev/null +++ b/library_pullToRefresh/res/anim/slide_in_from_top.xml @@ -0,0 +1,21 @@ + + + + diff --git a/library_pullToRefresh/res/anim/slide_out_to_bottom.xml b/library_pullToRefresh/res/anim/slide_out_to_bottom.xml new file mode 100644 index 0000000..83eca5a --- /dev/null +++ b/library_pullToRefresh/res/anim/slide_out_to_bottom.xml @@ -0,0 +1,21 @@ + + + + diff --git a/library_pullToRefresh/res/anim/slide_out_to_top.xml b/library_pullToRefresh/res/anim/slide_out_to_top.xml new file mode 100644 index 0000000..5105ae1 --- /dev/null +++ b/library_pullToRefresh/res/anim/slide_out_to_top.xml @@ -0,0 +1,21 @@ + + + + diff --git a/library_pullToRefresh/res/drawable-hdpi/default_ptr_rotate.png b/library_pullToRefresh/res/drawable-hdpi/default_ptr_rotate.png new file mode 100644 index 0000000..dc641b7 Binary files /dev/null and b/library_pullToRefresh/res/drawable-hdpi/default_ptr_rotate.png differ diff --git a/library_pullToRefresh/res/drawable-hdpi/indicator_arrow.png b/library_pullToRefresh/res/drawable-hdpi/indicator_arrow.png new file mode 100644 index 0000000..8ae7977 Binary files /dev/null and b/library_pullToRefresh/res/drawable-hdpi/indicator_arrow.png differ diff --git a/library_pullToRefresh/res/drawable-mdpi/default_ptr_rotate.png b/library_pullToRefresh/res/drawable-mdpi/default_ptr_rotate.png new file mode 100644 index 0000000..95b22bd Binary files /dev/null and b/library_pullToRefresh/res/drawable-mdpi/default_ptr_rotate.png differ diff --git a/library_pullToRefresh/res/drawable-mdpi/indicator_arrow.png b/library_pullToRefresh/res/drawable-mdpi/indicator_arrow.png new file mode 100644 index 0000000..20fe2c1 Binary files /dev/null and b/library_pullToRefresh/res/drawable-mdpi/indicator_arrow.png differ diff --git a/library_pullToRefresh/res/drawable-xhdpi/default_ptr_rotate.png b/library_pullToRefresh/res/drawable-xhdpi/default_ptr_rotate.png new file mode 100644 index 0000000..00225c9 Binary files /dev/null and b/library_pullToRefresh/res/drawable-xhdpi/default_ptr_rotate.png differ diff --git a/library_pullToRefresh/res/drawable-xhdpi/indicator_arrow.png b/library_pullToRefresh/res/drawable-xhdpi/indicator_arrow.png new file mode 100644 index 0000000..810ff59 Binary files /dev/null and b/library_pullToRefresh/res/drawable-xhdpi/indicator_arrow.png differ diff --git a/library_pullToRefresh/res/drawable-xhdpi/loading_01.png b/library_pullToRefresh/res/drawable-xhdpi/loading_01.png new file mode 100644 index 0000000..a833952 Binary files /dev/null and b/library_pullToRefresh/res/drawable-xhdpi/loading_01.png differ diff --git a/library_pullToRefresh/res/drawable-xhdpi/loading_02.png b/library_pullToRefresh/res/drawable-xhdpi/loading_02.png new file mode 100644 index 0000000..4cb3d40 Binary files /dev/null and b/library_pullToRefresh/res/drawable-xhdpi/loading_02.png differ diff --git a/library_pullToRefresh/res/drawable-xhdpi/loading_03.png b/library_pullToRefresh/res/drawable-xhdpi/loading_03.png new file mode 100644 index 0000000..aa3d0fa Binary files /dev/null and b/library_pullToRefresh/res/drawable-xhdpi/loading_03.png differ diff --git a/library_pullToRefresh/res/drawable-xhdpi/loading_04.png b/library_pullToRefresh/res/drawable-xhdpi/loading_04.png new file mode 100644 index 0000000..c987a1b Binary files /dev/null and b/library_pullToRefresh/res/drawable-xhdpi/loading_04.png differ diff --git a/library_pullToRefresh/res/drawable/indicator_bg_bottom.xml b/library_pullToRefresh/res/drawable/indicator_bg_bottom.xml new file mode 100644 index 0000000..81a91aa --- /dev/null +++ b/library_pullToRefresh/res/drawable/indicator_bg_bottom.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/res/drawable/indicator_bg_top.xml b/library_pullToRefresh/res/drawable/indicator_bg_top.xml new file mode 100644 index 0000000..59fa9cf --- /dev/null +++ b/library_pullToRefresh/res/drawable/indicator_bg_top.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/res/drawable/refresh_anim.xml b/library_pullToRefresh/res/drawable/refresh_anim.xml new file mode 100644 index 0000000..8de1faa --- /dev/null +++ b/library_pullToRefresh/res/drawable/refresh_anim.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/res/layout/pull_to_refresh_header_horizontal.xml b/library_pullToRefresh/res/layout/pull_to_refresh_header_horizontal.xml new file mode 100644 index 0000000..f05bb03 --- /dev/null +++ b/library_pullToRefresh/res/layout/pull_to_refresh_header_horizontal.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/res/layout/pull_to_refresh_header_vertical.xml b/library_pullToRefresh/res/layout/pull_to_refresh_header_vertical.xml new file mode 100644 index 0000000..31f4229 --- /dev/null +++ b/library_pullToRefresh/res/layout/pull_to_refresh_header_vertical.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/res/values-ar/pull_refresh_strings.xml b/library_pullToRefresh/res/values-ar/pull_refresh_strings.xml new file mode 100644 index 0000000..9177a97 --- /dev/null +++ b/library_pullToRefresh/res/values-ar/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + اسحب للتحديث… + اترك للتحديث… + تحميل… + diff --git a/library_pullToRefresh/res/values-cs/pull_refresh_strings.xml b/library_pullToRefresh/res/values-cs/pull_refresh_strings.xml new file mode 100644 index 0000000..c878da0 --- /dev/null +++ b/library_pullToRefresh/res/values-cs/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + Tažením aktualizujete… + Uvolněním aktualizujete… + Načítání… + diff --git a/library_pullToRefresh/res/values-de/pull_refresh_strings.xml b/library_pullToRefresh/res/values-de/pull_refresh_strings.xml new file mode 100644 index 0000000..901291b --- /dev/null +++ b/library_pullToRefresh/res/values-de/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + Ziehen zum Aktualisieren… + Loslassen zum Aktualisieren… + Laden… + diff --git a/library_pullToRefresh/res/values-es/pull_refresh_strings.xml b/library_pullToRefresh/res/values-es/pull_refresh_strings.xml new file mode 100644 index 0000000..5e9d280 --- /dev/null +++ b/library_pullToRefresh/res/values-es/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + Tirar para actualizar… + Soltar para actualizar… + Cargando… + diff --git a/library_pullToRefresh/res/values-fi/pull_refresh_strings.xml b/library_pullToRefresh/res/values-fi/pull_refresh_strings.xml new file mode 100644 index 0000000..0381287 --- /dev/null +++ b/library_pullToRefresh/res/values-fi/pull_refresh_strings.xml @@ -0,0 +1,13 @@ + + + + Päivitä vetämällä alas… + Päivitä vapauttamalla… + Päivitetään… + + + Päivitä vetämällä ylös… + @string/pull_to_refresh_release_label + @string/pull_to_refresh_refreshing_label + + \ No newline at end of file diff --git a/library_pullToRefresh/res/values-fr/pull_refresh_strings.xml b/library_pullToRefresh/res/values-fr/pull_refresh_strings.xml new file mode 100644 index 0000000..fb53ef8 --- /dev/null +++ b/library_pullToRefresh/res/values-fr/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + Tirez pour rafraîchir… + Relâcher pour rafraîchir… + Chargement… + diff --git a/library_pullToRefresh/res/values-he/pull_refresh_strings.xml b/library_pullToRefresh/res/values-he/pull_refresh_strings.xml new file mode 100644 index 0000000..beedc1f --- /dev/null +++ b/library_pullToRefresh/res/values-he/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + משוך לרענון… + שחרר לרענון… + טוען… + diff --git a/library_pullToRefresh/res/values-it/pull_refresh_strings.xml b/library_pullToRefresh/res/values-it/pull_refresh_strings.xml new file mode 100644 index 0000000..415fb9e --- /dev/null +++ b/library_pullToRefresh/res/values-it/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + Tira per aggiornare… + Rilascia per aggionare… + Caricamento… + diff --git a/library_pullToRefresh/res/values-iw/pull_refresh_strings.xml b/library_pullToRefresh/res/values-iw/pull_refresh_strings.xml new file mode 100644 index 0000000..beedc1f --- /dev/null +++ b/library_pullToRefresh/res/values-iw/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + משוך לרענון… + שחרר לרענון… + טוען… + diff --git a/library_pullToRefresh/res/values-ja/pull_refresh_strings.xml b/library_pullToRefresh/res/values-ja/pull_refresh_strings.xml new file mode 100644 index 0000000..d24842c --- /dev/null +++ b/library_pullToRefresh/res/values-ja/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + 画面を引っ張って… + 指を離して更新… + 読み込み中… + diff --git a/library_pullToRefresh/res/values-ko/pull_refresh_strings.xml b/library_pullToRefresh/res/values-ko/pull_refresh_strings.xml new file mode 100644 index 0000000..53edd59 --- /dev/null +++ b/library_pullToRefresh/res/values-ko/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + 당겨서 새로 고침… + 놓아서 새로 고침… + 로드 중… + diff --git a/library_pullToRefresh/res/values-nl/pull_refresh_strings.xml b/library_pullToRefresh/res/values-nl/pull_refresh_strings.xml new file mode 100644 index 0000000..4c063ed --- /dev/null +++ b/library_pullToRefresh/res/values-nl/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + Sleep om te vernieuwen… + Loslaten om te vernieuwen… + Laden… + diff --git a/library_pullToRefresh/res/values-pl/pull_refresh_strings.xml b/library_pullToRefresh/res/values-pl/pull_refresh_strings.xml new file mode 100644 index 0000000..007255a --- /dev/null +++ b/library_pullToRefresh/res/values-pl/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + Pociągnij, aby odświeżyć… + Puść, aby odświeżyć… + Wczytywanie… + diff --git a/library_pullToRefresh/res/values-pt-rBR/pull_refresh_strings.xml b/library_pullToRefresh/res/values-pt-rBR/pull_refresh_strings.xml new file mode 100644 index 0000000..0ec1ef7 --- /dev/null +++ b/library_pullToRefresh/res/values-pt-rBR/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + Puxe para atualizar… + Libere para atualizar… + Carregando… + diff --git a/library_pullToRefresh/res/values-pt/pull_refresh_strings.xml b/library_pullToRefresh/res/values-pt/pull_refresh_strings.xml new file mode 100644 index 0000000..d08bc63 --- /dev/null +++ b/library_pullToRefresh/res/values-pt/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + Puxe para atualizar… + Liberação para atualizar… + A carregar… + diff --git a/library_pullToRefresh/res/values-ro/pull_refresh_strings.xml b/library_pullToRefresh/res/values-ro/pull_refresh_strings.xml new file mode 100644 index 0000000..87ddc94 --- /dev/null +++ b/library_pullToRefresh/res/values-ro/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + Trage pentru a reîmprospăta… + Eliberează pentru a reîmprospăta… + Încărcare… + diff --git a/library_pullToRefresh/res/values-ru/pull_refresh_strings.xml b/library_pullToRefresh/res/values-ru/pull_refresh_strings.xml new file mode 100644 index 0000000..71ddcda --- /dev/null +++ b/library_pullToRefresh/res/values-ru/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + Потяните для обновления… + Отпустите для обновления… + Загрузка… + diff --git a/library_pullToRefresh/res/values-zh/pull_refresh_strings.xml b/library_pullToRefresh/res/values-zh/pull_refresh_strings.xml new file mode 100644 index 0000000..cbb207a --- /dev/null +++ b/library_pullToRefresh/res/values-zh/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + 下拉刷新 + 释放立即刷新 + 正在载入… + diff --git a/library_pullToRefresh/res/values/attrs.xml b/library_pullToRefresh/res/values/attrs.xml new file mode 100644 index 0000000..c95aa59 --- /dev/null +++ b/library_pullToRefresh/res/values/attrs.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/res/values/dimens.xml b/library_pullToRefresh/res/values/dimens.xml new file mode 100644 index 0000000..24339b5 --- /dev/null +++ b/library_pullToRefresh/res/values/dimens.xml @@ -0,0 +1,10 @@ + + + + 10dp + 12dp + 4dp + 24dp + 12dp + + \ No newline at end of file diff --git a/library_pullToRefresh/res/values/ids.xml b/library_pullToRefresh/res/values/ids.xml new file mode 100644 index 0000000..26c9ae7 --- /dev/null +++ b/library_pullToRefresh/res/values/ids.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/library_pullToRefresh/res/values/pull_refresh_strings.xml b/library_pullToRefresh/res/values/pull_refresh_strings.xml new file mode 100644 index 0000000..ae3289a --- /dev/null +++ b/library_pullToRefresh/res/values/pull_refresh_strings.xml @@ -0,0 +1,13 @@ + + + + 下拉刷新 + 释放立即刷新 + 正在刷新… + + + @string/pull_to_refresh_pull_label + @string/pull_to_refresh_release_label + @string/pull_to_refresh_refreshing_label + + \ No newline at end of file diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/ILoadingLayout.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/ILoadingLayout.java new file mode 100644 index 0000000..ff2a957 --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/ILoadingLayout.java @@ -0,0 +1,57 @@ +package com.handmark.pulltorefresh.library; + +import android.graphics.Typeface; +import android.graphics.drawable.Drawable; + +public interface ILoadingLayout { + + /** + * Set the Last Updated Text. This displayed under the main label when + * Pulling + * + * @param label - Label to set + */ + public void setLastUpdatedLabel(CharSequence label); + + /** + * Set the drawable used in the loading layout. This is the same as calling + * setLoadingDrawable(drawable, Mode.BOTH) + * + * @param drawable - Drawable to display + */ + public void setLoadingDrawable(Drawable drawable); + + /** + * Set Text to show when the Widget is being Pulled + * setPullLabel(releaseLabel, Mode.BOTH) + * + * @param pullLabel - CharSequence to display + */ + public void setPullLabel(CharSequence pullLabel); + + /** + * Set Text to show when the Widget is refreshing + * setRefreshingLabel(releaseLabel, Mode.BOTH) + * + * @param refreshingLabel - CharSequence to display + */ + public void setRefreshingLabel(CharSequence refreshingLabel); + + /** + * Set Text to show when the Widget is being pulled, and will refresh when + * released. This is the same as calling + * setReleaseLabel(releaseLabel, Mode.BOTH) + * + * @param releaseLabel - CharSequence to display + */ + public void setReleaseLabel(CharSequence releaseLabel); + + /** + * Set's the Sets the typeface and style in which the text should be + * displayed. Please see + * {@link android.widget.TextView#setTypeface(Typeface) + * TextView#setTypeface(Typeface)}. + */ + public void setTextTypeface(Typeface tf); + +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/IPullToRefresh.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/IPullToRefresh.java new file mode 100644 index 0000000..a06cdd7 --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/IPullToRefresh.java @@ -0,0 +1,246 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library; + +import android.view.View; +import android.view.animation.Interpolator; + +import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode; +import com.handmark.pulltorefresh.library.PullToRefreshBase.OnPullEventListener; +import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener; +import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener2; +import com.handmark.pulltorefresh.library.PullToRefreshBase.State; + +public interface IPullToRefresh { + + /** + * Demos the Pull-to-Refresh functionality to the user so that they are + * aware it is there. This could be useful when the user first opens your + * app, etc. The animation will only happen if the Refresh View (ListView, + * ScrollView, etc) is in a state where a Pull-to-Refresh could occur by a + * user's touch gesture (i.e. scrolled to the top/bottom). + * + * @return true - if the Demo has been started, false if not. + */ + public boolean demo(); + + /** + * Get the mode that this view is currently in. This is only really useful + * when using Mode.BOTH. + * + * @return Mode that the view is currently in + */ + public Mode getCurrentMode(); + + /** + * Returns whether the Touch Events are filtered or not. If true is + * returned, then the View will only use touch events where the difference + * in the Y-axis is greater than the difference in the X-axis. This means + * that the View will not interfere when it is used in a horizontal + * scrolling View (such as a ViewPager). + * + * @return boolean - true if the View is filtering Touch Events + */ + public boolean getFilterTouchEvents(); + + /** + * Returns a proxy object which allows you to call methods on all of the + * LoadingLayouts (the Views which show when Pulling/Refreshing). + *

+ * You should not keep the result of this method any longer than you need + * it. + * + * @return Object which will proxy any calls you make on it, to all of the + * LoadingLayouts. + */ + public ILoadingLayout getLoadingLayoutProxy(); + + /** + * Returns a proxy object which allows you to call methods on the + * LoadingLayouts (the Views which show when Pulling/Refreshing). The actual + * LoadingLayout(s) which will be affected, are chosen by the parameters you + * give. + *

+ * You should not keep the result of this method any longer than you need + * it. + * + * @param includeStart - Whether to include the Start/Header Views + * @param includeEnd - Whether to include the End/Footer Views + * @return Object which will proxy any calls you make on it, to the + * LoadingLayouts included. + */ + public ILoadingLayout getLoadingLayoutProxy(boolean includeStart, boolean includeEnd); + + /** + * Get the mode that this view has been set to. If this returns + * Mode.BOTH, you can use getCurrentMode() to + * check which mode the view is currently in + * + * @return Mode that the view has been set to + */ + public Mode getMode(); + + /** + * Get the Wrapped Refreshable View. Anything returned here has already been + * added to the content view. + * + * @return The View which is currently wrapped + */ + public T getRefreshableView(); + + /** + * Get whether the 'Refreshing' View should be automatically shown when + * refreshing. Returns true by default. + * + * @return - true if the Refreshing View will be show + */ + public boolean getShowViewWhileRefreshing(); + + /** + * @return - The state that the View is currently in. + */ + public State getState(); + + /** + * Whether Pull-to-Refresh is enabled + * + * @return enabled + */ + public boolean isPullToRefreshEnabled(); + + /** + * Gets whether Overscroll support is enabled. This is different to + * Android's standard Overscroll support (the edge-glow) which is available + * from GINGERBREAD onwards + * + * @return true - if both PullToRefresh-OverScroll and Android's inbuilt + * OverScroll are enabled + */ + public boolean isPullToRefreshOverScrollEnabled(); + + /** + * Returns whether the Widget is currently in the Refreshing mState + * + * @return true if the Widget is currently refreshing + */ + public boolean isRefreshing(); + + /** + * Returns whether the widget has enabled scrolling on the Refreshable View + * while refreshing. + * + * @return true if the widget has enabled scrolling while refreshing + */ + public boolean isScrollingWhileRefreshingEnabled(); + + /** + * Mark the current Refresh as complete. Will Reset the UI and hide the + * Refreshing View + */ + public void onRefreshComplete(); + + /** + * Set the Touch Events to be filtered or not. If set to true, then the View + * will only use touch events where the difference in the Y-axis is greater + * than the difference in the X-axis. This means that the View will not + * interfere when it is used in a horizontal scrolling View (such as a + * ViewPager), but will restrict which types of finger scrolls will trigger + * the View. + * + * @param filterEvents - true if you want to filter Touch Events. Default is + * true. + */ + public void setFilterTouchEvents(boolean filterEvents); + + /** + * Set the mode of Pull-to-Refresh that this view will use. + * + * @param mode - Mode to set the View to + */ + public void setMode(Mode mode); + + /** + * Set OnPullEventListener for the Widget + * + * @param listener - Listener to be used when the Widget has a pull event to + * propogate. + */ + public void setOnPullEventListener(OnPullEventListener listener); + + /** + * Set OnRefreshListener for the Widget + * + * @param listener - Listener to be used when the Widget is set to Refresh + */ + public void setOnRefreshListener(OnRefreshListener listener); + + /** + * Set OnRefreshListener for the Widget + * + * @param listener - Listener to be used when the Widget is set to Refresh + */ + public void setOnRefreshListener(OnRefreshListener2 listener); + + /** + * Sets whether Overscroll support is enabled. This is different to + * Android's standard Overscroll support (the edge-glow). This setting only + * takes effect when running on device with Android v2.3 or greater. + * + * @param enabled - true if you want Overscroll enabled + */ + public void setPullToRefreshOverScrollEnabled(boolean enabled); + + /** + * Sets the Widget to be in the refresh state. The UI will be updated to + * show the 'Refreshing' view, and be scrolled to show such. + */ + public void setRefreshing(); + + /** + * Sets the Widget to be in the refresh state. The UI will be updated to + * show the 'Refreshing' view. + * + * @param doScroll - true if you want to force a scroll to the Refreshing + * view. + */ + public void setRefreshing(boolean doScroll); + + /** + * Sets the Animation Interpolator that is used for animated scrolling. + * Defaults to a DecelerateInterpolator + * + * @param interpolator - Interpolator to use + */ + public void setScrollAnimationInterpolator(Interpolator interpolator); + + /** + * By default the Widget disables scrolling on the Refreshable View while + * refreshing. This method can change this behaviour. + * + * @param scrollingWhileRefreshingEnabled - true if you want to enable + * scrolling while refreshing + */ + public void setScrollingWhileRefreshingEnabled(boolean scrollingWhileRefreshingEnabled); + + /** + * A mutator to enable/disable whether the 'Refreshing' View should be + * automatically shown when refreshing. + * + * @param showView + */ + public void setShowViewWhileRefreshing(boolean showView); + +} \ No newline at end of file diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/LoadingLayoutProxy.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/LoadingLayoutProxy.java new file mode 100644 index 0000000..5f76645 --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/LoadingLayoutProxy.java @@ -0,0 +1,73 @@ +package com.handmark.pulltorefresh.library; + +import java.util.HashSet; + +import android.graphics.Typeface; +import android.graphics.drawable.Drawable; + +import com.handmark.pulltorefresh.library.internal.LoadingLayout; + +public class LoadingLayoutProxy implements ILoadingLayout { + + private final HashSet mLoadingLayouts; + + LoadingLayoutProxy() { + mLoadingLayouts = new HashSet(); + } + + /** + * This allows you to add extra LoadingLayout instances to this proxy. This + * is only necessary if you keep your own instances, and want to have them + * included in any + * {@link PullToRefreshBase#createLoadingLayoutProxy(boolean, boolean) + * createLoadingLayoutProxy(...)} calls. + * + * @param layout - LoadingLayout to have included. + */ + public void addLayout(LoadingLayout layout) { + if (null != layout) { + mLoadingLayouts.add(layout); + } + } + + @Override + public void setLastUpdatedLabel(CharSequence label) { + for (LoadingLayout layout : mLoadingLayouts) { + layout.setLastUpdatedLabel(label); + } + } + + @Override + public void setLoadingDrawable(Drawable drawable) { + for (LoadingLayout layout : mLoadingLayouts) { + layout.setLoadingDrawable(drawable); + } + } + + @Override + public void setRefreshingLabel(CharSequence refreshingLabel) { + for (LoadingLayout layout : mLoadingLayouts) { + layout.setRefreshingLabel(refreshingLabel); + } + } + + @Override + public void setPullLabel(CharSequence label) { + for (LoadingLayout layout : mLoadingLayouts) { + layout.setPullLabel(label); + } + } + + @Override + public void setReleaseLabel(CharSequence label) { + for (LoadingLayout layout : mLoadingLayouts) { + layout.setReleaseLabel(label); + } + } + + public void setTextTypeface(Typeface tf) { + for (LoadingLayout layout : mLoadingLayouts) { + layout.setTextTypeface(tf); + } + } +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/OverscrollHelper.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/OverscrollHelper.java new file mode 100644 index 0000000..52a20de --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/OverscrollHelper.java @@ -0,0 +1,178 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library; + +import android.annotation.TargetApi; +import android.util.Log; +import android.view.View; + +import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode; +import com.handmark.pulltorefresh.library.PullToRefreshBase.State; + +@TargetApi(9) +public final class OverscrollHelper { + + static final String LOG_TAG = "OverscrollHelper"; + static final float DEFAULT_OVERSCROLL_SCALE = 1f; + + /** + * Helper method for Overscrolling that encapsulates all of the necessary + * function. + *

+ * This should only be used on AdapterView's such as ListView as it just + * calls through to overScrollBy() with the scrollRange = 0. AdapterView's + * do not have a scroll range (i.e. getScrollY() doesn't work). + * + * @param view - PullToRefreshView that is calling this. + * @param deltaX - Change in X in pixels, passed through from from + * overScrollBy call + * @param scrollX - Current X scroll value in pixels before applying deltaY, + * passed through from from overScrollBy call + * @param deltaY - Change in Y in pixels, passed through from from + * overScrollBy call + * @param scrollY - Current Y scroll value in pixels before applying deltaY, + * passed through from from overScrollBy call + * @param isTouchEvent - true if this scroll operation is the result of a + * touch event, passed through from from overScrollBy call + */ + public static void overScrollBy(final PullToRefreshBase view, final int deltaX, final int scrollX, + final int deltaY, final int scrollY, final boolean isTouchEvent) { + overScrollBy(view, deltaX, scrollX, deltaY, scrollY, 0, isTouchEvent); + } + + /** + * Helper method for Overscrolling that encapsulates all of the necessary + * function. This version of the call is used for Views that need to specify + * a Scroll Range but scroll back to it's edge correctly. + * + * @param view - PullToRefreshView that is calling this. + * @param deltaX - Change in X in pixels, passed through from from + * overScrollBy call + * @param scrollX - Current X scroll value in pixels before applying deltaY, + * passed through from from overScrollBy call + * @param deltaY - Change in Y in pixels, passed through from from + * overScrollBy call + * @param scrollY - Current Y scroll value in pixels before applying deltaY, + * passed through from from overScrollBy call + * @param scrollRange - Scroll Range of the View, specifically needed for + * ScrollView + * @param isTouchEvent - true if this scroll operation is the result of a + * touch event, passed through from from overScrollBy call + */ + public static void overScrollBy(final PullToRefreshBase view, final int deltaX, final int scrollX, + final int deltaY, final int scrollY, final int scrollRange, final boolean isTouchEvent) { + overScrollBy(view, deltaX, scrollX, deltaY, scrollY, scrollRange, 0, DEFAULT_OVERSCROLL_SCALE, isTouchEvent); + } + + /** + * Helper method for Overscrolling that encapsulates all of the necessary + * function. This is the advanced version of the call. + * + * @param view - PullToRefreshView that is calling this. + * @param deltaX - Change in X in pixels, passed through from from + * overScrollBy call + * @param scrollX - Current X scroll value in pixels before applying deltaY, + * passed through from from overScrollBy call + * @param deltaY - Change in Y in pixels, passed through from from + * overScrollBy call + * @param scrollY - Current Y scroll value in pixels before applying deltaY, + * passed through from from overScrollBy call + * @param scrollRange - Scroll Range of the View, specifically needed for + * ScrollView + * @param fuzzyThreshold - Threshold for which the values how fuzzy we + * should treat the other values. Needed for WebView as it + * doesn't always scroll back to it's edge. 0 = no fuzziness. + * @param scaleFactor - Scale Factor for overscroll amount + * @param isTouchEvent - true if this scroll operation is the result of a + * touch event, passed through from from overScrollBy call + */ + public static void overScrollBy(final PullToRefreshBase view, final int deltaX, final int scrollX, + final int deltaY, final int scrollY, final int scrollRange, final int fuzzyThreshold, + final float scaleFactor, final boolean isTouchEvent) { + + final int deltaValue, currentScrollValue, scrollValue; + switch (view.getPullToRefreshScrollDirection()) { + case HORIZONTAL: + deltaValue = deltaX; + scrollValue = scrollX; + currentScrollValue = view.getScrollX(); + break; + case VERTICAL: + default: + deltaValue = deltaY; + scrollValue = scrollY; + currentScrollValue = view.getScrollY(); + break; + } + + // Check that OverScroll is enabled and that we're not currently + // refreshing. + if (view.isPullToRefreshOverScrollEnabled() && !view.isRefreshing()) { + final Mode mode = view.getMode(); + + // Check that Pull-to-Refresh is enabled, and the event isn't from + // touch + if (mode.permitsPullToRefresh() && !isTouchEvent && deltaValue != 0) { + final int newScrollValue = (deltaValue + scrollValue); + + if (PullToRefreshBase.DEBUG) { + Log.d(LOG_TAG, "OverScroll. DeltaX: " + deltaX + ", ScrollX: " + scrollX + ", DeltaY: " + deltaY + + ", ScrollY: " + scrollY + ", NewY: " + newScrollValue + ", ScrollRange: " + scrollRange + + ", CurrentScroll: " + currentScrollValue); + } + + if (newScrollValue < (0 - fuzzyThreshold)) { + // Check the mode supports the overscroll direction, and + // then move scroll + if (mode.showHeaderLoadingLayout()) { + // If we're currently at zero, we're about to start + // overscrolling, so change the state + if (currentScrollValue == 0) { + view.setState(State.OVERSCROLLING); + } + + view.setHeaderScroll((int) (scaleFactor * (currentScrollValue + newScrollValue))); + } + } else if (newScrollValue > (scrollRange + fuzzyThreshold)) { + // Check the mode supports the overscroll direction, and + // then move scroll + if (mode.showFooterLoadingLayout()) { + // If we're currently at zero, we're about to start + // overscrolling, so change the state + if (currentScrollValue == 0) { + view.setState(State.OVERSCROLLING); + } + + view.setHeaderScroll((int) (scaleFactor * (currentScrollValue + newScrollValue - scrollRange))); + } + } else if (Math.abs(newScrollValue) <= fuzzyThreshold + || Math.abs(newScrollValue - scrollRange) <= fuzzyThreshold) { + // Means we've stopped overscrolling, so scroll back to 0 + view.setState(State.RESET); + } + } else if (isTouchEvent && State.OVERSCROLLING == view.getState()) { + // This condition means that we were overscrolling from a fling, + // but the user has touched the View and is now overscrolling + // from touch instead. We need to just reset. + view.setState(State.RESET); + } + } + } + + static boolean isAndroidOverScrollEnabled(View view) { + return view.getOverScrollMode() != View.OVER_SCROLL_NEVER; + } +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.java new file mode 100644 index 0000000..cfff837 --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.java @@ -0,0 +1,475 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library; + +import android.content.Context; +import android.content.res.TypedArray; +import android.util.AttributeSet; +import android.util.Log; +import android.view.Gravity; +import android.view.View; +import android.view.ViewGroup; +import android.view.ViewParent; +import android.widget.AbsListView; +import android.widget.AbsListView.OnScrollListener; +import android.widget.Adapter; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.FrameLayout; +import android.widget.LinearLayout; +import android.widget.ListAdapter; + +import com.handmark.pulltorefresh.library.internal.EmptyViewMethodAccessor; +import com.handmark.pulltorefresh.library.internal.IndicatorLayout; + +public abstract class PullToRefreshAdapterViewBase extends PullToRefreshBase implements + OnScrollListener { + + private static FrameLayout.LayoutParams convertEmptyViewLayoutParams(ViewGroup.LayoutParams lp) { + FrameLayout.LayoutParams newLp = null; + + if (null != lp) { + newLp = new FrameLayout.LayoutParams(lp); + + if (lp instanceof LinearLayout.LayoutParams) { + newLp.gravity = ((LinearLayout.LayoutParams) lp).gravity; + } else { + newLp.gravity = Gravity.CENTER; + } + } + + return newLp; + } + + private boolean mLastItemVisible; + private OnScrollListener mOnScrollListener; + private OnLastItemVisibleListener mOnLastItemVisibleListener; + private View mEmptyView; + + private IndicatorLayout mIndicatorIvTop; + private IndicatorLayout mIndicatorIvBottom; + + private boolean mShowIndicator; + private boolean mScrollEmptyView = true; + + public PullToRefreshAdapterViewBase(Context context) { + super(context); + mRefreshableView.setOnScrollListener(this); + } + + public PullToRefreshAdapterViewBase(Context context, AttributeSet attrs) { + super(context, attrs); + mRefreshableView.setOnScrollListener(this); + } + + public PullToRefreshAdapterViewBase(Context context, Mode mode) { + super(context, mode); + mRefreshableView.setOnScrollListener(this); + } + + public PullToRefreshAdapterViewBase(Context context, Mode mode, AnimationStyle animStyle) { + super(context, mode, animStyle); + mRefreshableView.setOnScrollListener(this); + } + + /** + * Gets whether an indicator graphic should be displayed when the View is in + * a state where a Pull-to-Refresh can happen. An example of this state is + * when the Adapter View is scrolled to the top and the mode is set to + * {@link Mode#PULL_FROM_START}. The default value is true if + * {@link PullToRefreshBase#isPullToRefreshOverScrollEnabled() + * isPullToRefreshOverScrollEnabled()} returns false. + * + * @return true if the indicators will be shown + */ + public boolean getShowIndicator() { + return mShowIndicator; + } + + public final void onScroll(final AbsListView view, final int firstVisibleItem, final int visibleItemCount, + final int totalItemCount) { + + if (DEBUG) { + Log.d(LOG_TAG, "First Visible: " + firstVisibleItem + ". Visible Count: " + visibleItemCount + + ". Total Items:" + totalItemCount); + } + + /** + * Set whether the Last Item is Visible. lastVisibleItemIndex is a + * zero-based index, so we minus one totalItemCount to check + */ + if (null != mOnLastItemVisibleListener) { + mLastItemVisible = (totalItemCount > 0) && (firstVisibleItem + visibleItemCount >= totalItemCount - 1); + } + + // If we're showing the indicator, check positions... + if (getShowIndicatorInternal()) { + updateIndicatorViewsVisibility(); + } + + // Finally call OnScrollListener if we have one + if (null != mOnScrollListener) { + mOnScrollListener.onScroll(view, firstVisibleItem, visibleItemCount, totalItemCount); + } + } + + public final void onScrollStateChanged(final AbsListView view, final int state) { + /** + * Check that the scrolling has stopped, and that the last item is + * visible. + */ + if (state == OnScrollListener.SCROLL_STATE_IDLE && null != mOnLastItemVisibleListener && mLastItemVisible) { + mOnLastItemVisibleListener.onLastItemVisible(); + } + + if (null != mOnScrollListener) { + mOnScrollListener.onScrollStateChanged(view, state); + } + } + + /** + * Pass-through method for {@link PullToRefreshBase#getRefreshableView() + * getRefreshableView()}. + * {@link AdapterView#setAdapter(android.widget.Adapter)} + * setAdapter(adapter)}. This is just for convenience! + * + * @param adapter - Adapter to set + */ + public void setAdapter(ListAdapter adapter) { + ((AdapterView) mRefreshableView).setAdapter(adapter); + } + + /** + * Sets the Empty View to be used by the Adapter View. + *

+ * We need it handle it ourselves so that we can Pull-to-Refresh when the + * Empty View is shown. + *

+ * Please note, you do not usually need to call this method + * yourself. Calling setEmptyView on the AdapterView will automatically call + * this method and set everything up. This includes when the Android + * Framework automatically sets the Empty View based on it's ID. + * + * @param newEmptyView - Empty View to be used + */ + public final void setEmptyView(View newEmptyView) { + FrameLayout refreshableViewWrapper = getRefreshableViewWrapper(); + + if (null != newEmptyView) { + // New view needs to be clickable so that Android recognizes it as a + // target for Touch Events + newEmptyView.setClickable(true); + + ViewParent newEmptyViewParent = newEmptyView.getParent(); + if (null != newEmptyViewParent && newEmptyViewParent instanceof ViewGroup) { + ((ViewGroup) newEmptyViewParent).removeView(newEmptyView); + } + + // We need to convert any LayoutParams so that it works in our + // FrameLayout + FrameLayout.LayoutParams lp = convertEmptyViewLayoutParams(newEmptyView.getLayoutParams()); + if (null != lp) { + refreshableViewWrapper.addView(newEmptyView, lp); + } else { + refreshableViewWrapper.addView(newEmptyView); + } + } + + if (mRefreshableView instanceof EmptyViewMethodAccessor) { + ((EmptyViewMethodAccessor) mRefreshableView).setEmptyViewInternal(newEmptyView); + } else { + mRefreshableView.setEmptyView(newEmptyView); + } + mEmptyView = newEmptyView; + } + + /** + * Pass-through method for {@link PullToRefreshBase#getRefreshableView() + * getRefreshableView()}. + * {@link AdapterView#setOnItemClickListener(OnItemClickListener) + * setOnItemClickListener(listener)}. This is just for convenience! + * + * @param listener - OnItemClickListener to use + */ + public void setOnItemClickListener(OnItemClickListener listener) { + mRefreshableView.setOnItemClickListener(listener); + } + + public final void setOnLastItemVisibleListener(OnLastItemVisibleListener listener) { + mOnLastItemVisibleListener = listener; + } + + public final void setOnScrollListener(OnScrollListener listener) { + mOnScrollListener = listener; + } + + public final void setScrollEmptyView(boolean doScroll) { + mScrollEmptyView = doScroll; + } + + /** + * Sets whether an indicator graphic should be displayed when the View is in + * a state where a Pull-to-Refresh can happen. An example of this state is + * when the Adapter View is scrolled to the top and the mode is set to + * {@link Mode#PULL_FROM_START} + * + * @param showIndicator - true if the indicators should be shown. + */ + public void setShowIndicator(boolean showIndicator) { + mShowIndicator = showIndicator; + + if (getShowIndicatorInternal()) { + // If we're set to Show Indicator, add/update them + addIndicatorViews(); + } else { + // If not, then remove then + removeIndicatorViews(); + } + } + + ; + + @Override + protected void onPullToRefresh() { + super.onPullToRefresh(); + + if (getShowIndicatorInternal()) { + switch (getCurrentMode()) { + case PULL_FROM_END: + mIndicatorIvBottom.pullToRefresh(); + break; + case PULL_FROM_START: + mIndicatorIvTop.pullToRefresh(); + break; + default: + // NO-OP + break; + } + } + } + + protected void onRefreshing(boolean doScroll) { + super.onRefreshing(doScroll); + + if (getShowIndicatorInternal()) { + updateIndicatorViewsVisibility(); + } + } + + @Override + protected void onReleaseToRefresh() { + super.onReleaseToRefresh(); + + if (getShowIndicatorInternal()) { + switch (getCurrentMode()) { + case PULL_FROM_END: + mIndicatorIvBottom.releaseToRefresh(); + break; + case PULL_FROM_START: + mIndicatorIvTop.releaseToRefresh(); + break; + default: + // NO-OP + break; + } + } + } + + @Override + protected void onReset() { + super.onReset(); + + if (getShowIndicatorInternal()) { + updateIndicatorViewsVisibility(); + } + } + + @Override + protected void handleStyledAttributes(TypedArray a) { + // Set Show Indicator to the XML value, or default value + mShowIndicator = a.getBoolean(R.styleable.PullToRefresh_ptrShowIndicator, !isPullToRefreshOverScrollEnabled()); + } + + protected boolean isReadyForPullStart() { + return isFirstItemVisible(); + } + + protected boolean isReadyForPullEnd() { + return isLastItemVisible(); + } + + @Override + protected void onScrollChanged(int l, int t, int oldl, int oldt) { + super.onScrollChanged(l, t, oldl, oldt); + if (null != mEmptyView && !mScrollEmptyView) { + mEmptyView.scrollTo(-l, -t); + } + } + + @Override + protected void updateUIForMode() { + super.updateUIForMode(); + + // Check Indicator Views consistent with new Mode + if (getShowIndicatorInternal()) { + addIndicatorViews(); + } else { + removeIndicatorViews(); + } + } + + private void addIndicatorViews() { + Mode mode = getMode(); + FrameLayout refreshableViewWrapper = getRefreshableViewWrapper(); + + if (mode.showHeaderLoadingLayout() && null == mIndicatorIvTop) { + // If the mode can pull down, and we don't have one set already + mIndicatorIvTop = new IndicatorLayout(getContext(), Mode.PULL_FROM_START); + FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.WRAP_CONTENT); + params.rightMargin = getResources().getDimensionPixelSize(R.dimen.indicator_right_padding); + params.gravity = Gravity.TOP | Gravity.RIGHT; + refreshableViewWrapper.addView(mIndicatorIvTop, params); + + } else if (!mode.showHeaderLoadingLayout() && null != mIndicatorIvTop) { + // If we can't pull down, but have a View then remove it + refreshableViewWrapper.removeView(mIndicatorIvTop); + mIndicatorIvTop = null; + } + + if (mode.showFooterLoadingLayout() && null == mIndicatorIvBottom) { + // If the mode can pull down, and we don't have one set already + mIndicatorIvBottom = new IndicatorLayout(getContext(), Mode.PULL_FROM_END); + FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.WRAP_CONTENT); + params.rightMargin = getResources().getDimensionPixelSize(R.dimen.indicator_right_padding); + params.gravity = Gravity.BOTTOM | Gravity.RIGHT; + refreshableViewWrapper.addView(mIndicatorIvBottom, params); + + } else if (!mode.showFooterLoadingLayout() && null != mIndicatorIvBottom) { + // If we can't pull down, but have a View then remove it + refreshableViewWrapper.removeView(mIndicatorIvBottom); + mIndicatorIvBottom = null; + } + } + + private boolean getShowIndicatorInternal() { + return mShowIndicator && isPullToRefreshEnabled(); + } + + private boolean isFirstItemVisible() { + final Adapter adapter = mRefreshableView.getAdapter(); + + if (null == adapter || adapter.isEmpty()) { + if (DEBUG) { + Log.d(LOG_TAG, "isFirstItemVisible. Empty View."); + } + return true; + + } else { + + /** + * This check should really just be: + * mRefreshableView.getFirstVisiblePosition() == 0, but PtRListView + * internally use a HeaderView which messes the positions up. For + * now we'll just add one to account for it and rely on the inner + * condition which checks getTop(). + */ + if (mRefreshableView.getFirstVisiblePosition() <= 1) { + final View firstVisibleChild = mRefreshableView.getChildAt(0); + if (firstVisibleChild != null) { + return firstVisibleChild.getTop() >= mRefreshableView.getTop(); + } + } + } + + return false; + } + + private boolean isLastItemVisible() { + final Adapter adapter = mRefreshableView.getAdapter(); + + if (null == adapter || adapter.isEmpty()) { + if (DEBUG) { + Log.d(LOG_TAG, "isLastItemVisible. Empty View."); + } + return true; + } else { + final int lastItemPosition = mRefreshableView.getCount() - 1; + final int lastVisiblePosition = mRefreshableView.getLastVisiblePosition(); + + if (DEBUG) { + Log.d(LOG_TAG, "isLastItemVisible. Last Item Position: " + lastItemPosition + " Last Visible Pos: " + + lastVisiblePosition); + } + + /** + * This check should really just be: lastVisiblePosition == + * lastItemPosition, but PtRListView internally uses a FooterView + * which messes the positions up. For me we'll just subtract one to + * account for it and rely on the inner condition which checks + * getBottom(). + */ + if (lastVisiblePosition >= lastItemPosition - 1) { + final int childIndex = lastVisiblePosition - mRefreshableView.getFirstVisiblePosition(); + final View lastVisibleChild = mRefreshableView.getChildAt(childIndex); + if (lastVisibleChild != null) { + return lastVisibleChild.getBottom() <= mRefreshableView.getBottom(); + } + } + } + + return false; + } + + private void removeIndicatorViews() { + if (null != mIndicatorIvTop) { + getRefreshableViewWrapper().removeView(mIndicatorIvTop); + mIndicatorIvTop = null; + } + + if (null != mIndicatorIvBottom) { + getRefreshableViewWrapper().removeView(mIndicatorIvBottom); + mIndicatorIvBottom = null; + } + } + + private void updateIndicatorViewsVisibility() { + if (null != mIndicatorIvTop) { + if (!isRefreshing() && isReadyForPullStart()) { + if (!mIndicatorIvTop.isVisible()) { + mIndicatorIvTop.show(); + } + } else { + if (mIndicatorIvTop.isVisible()) { + mIndicatorIvTop.hide(); + } + } + } + + if (null != mIndicatorIvBottom) { + if (!isRefreshing() && isReadyForPullEnd()) { + if (!mIndicatorIvBottom.isVisible()) { + mIndicatorIvBottom.show(); + } + } else { + if (mIndicatorIvBottom.isVisible()) { + mIndicatorIvBottom.hide(); + } + } + } + } +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshBase.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshBase.java new file mode 100644 index 0000000..df71277 --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshBase.java @@ -0,0 +1,1656 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.drawable.Drawable; +import android.os.Build.VERSION; +import android.os.Build.VERSION_CODES; +import android.os.Bundle; +import android.os.Parcelable; +import android.util.AttributeSet; +import android.util.Log; +import android.view.Gravity; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewConfiguration; +import android.view.ViewGroup; +import android.view.animation.DecelerateInterpolator; +import android.view.animation.Interpolator; +import android.widget.FrameLayout; +import android.widget.LinearLayout; + +import com.handmark.pulltorefresh.library.internal.FlipLoadingLayout; +import com.handmark.pulltorefresh.library.internal.LoadingLayout; +import com.handmark.pulltorefresh.library.internal.RotateLoadingLayout; +import com.handmark.pulltorefresh.library.internal.TweenAnimLoadingLayout; +import com.handmark.pulltorefresh.library.internal.Utils; +import com.handmark.pulltorefresh.library.internal.ViewCompat; + +public abstract class PullToRefreshBase extends LinearLayout implements IPullToRefresh { + + // =========================================================== + // Constants + // =========================================================== + + static final boolean DEBUG = false; + + static final boolean USE_HW_LAYERS = false; + + static final String LOG_TAG = "PullToRefresh"; + + static final float FRICTION = 2.0f; + + public static final int SMOOTH_SCROLL_DURATION_MS = 200; + public static final int SMOOTH_SCROLL_LONG_DURATION_MS = 325; + static final int DEMO_SCROLL_INTERVAL = 225; + + static final String STATE_STATE = "ptr_state"; + static final String STATE_MODE = "ptr_mode"; + static final String STATE_CURRENT_MODE = "ptr_current_mode"; + static final String STATE_SCROLLING_REFRESHING_ENABLED = "ptr_disable_scrolling"; + static final String STATE_SHOW_REFRESHING_VIEW = "ptr_show_refreshing_view"; + static final String STATE_SUPER = "ptr_super"; + + // =========================================================== + // Fields + // =========================================================== + + private int mTouchSlop; + private float mLastMotionX, mLastMotionY; + private float mInitialMotionX, mInitialMotionY; + + private boolean mIsBeingDragged = false; + private State mState = State.RESET; + private Mode mMode = Mode.getDefault(); + + private Mode mCurrentMode; + T mRefreshableView; + private FrameLayout mRefreshableViewWrapper; + + private boolean mShowViewWhileRefreshing = true; + private boolean mScrollingWhileRefreshingEnabled = false; + private boolean mFilterTouchEvents = true; + private boolean mOverScrollEnabled = true; + private boolean mLayoutVisibilityChangesEnabled = true; + + private Interpolator mScrollAnimationInterpolator; + private AnimationStyle mLoadingAnimationStyle = AnimationStyle.getDefault(); + + private LoadingLayout mHeaderLayout; + private LoadingLayout mFooterLayout; + + private OnRefreshListener mOnRefreshListener; + private OnRefreshListener2 mOnRefreshListener2; + private OnPullEventListener mOnPullEventListener; + + private SmoothScrollRunnable mCurrentSmoothScrollRunnable; + + // =========================================================== + // Constructors + // =========================================================== + + public PullToRefreshBase(Context context) { + super(context); + init(context, null); + } + + public PullToRefreshBase(Context context, AttributeSet attrs) { + super(context, attrs); + init(context, attrs); + } + + public PullToRefreshBase(Context context, Mode mode) { + super(context); + mMode = mode; + init(context, null); + } + + public PullToRefreshBase(Context context, Mode mode, AnimationStyle animStyle) { + super(context); + mMode = mode; + mLoadingAnimationStyle = animStyle; + init(context, null); + } + + @Override + public void addView(View child, int index, ViewGroup.LayoutParams params) { + if (DEBUG) { + Log.d(LOG_TAG, "addView: " + child.getClass().getSimpleName()); + } + + final T refreshableView = getRefreshableView(); + + if (refreshableView instanceof ViewGroup) { + ((ViewGroup) refreshableView).addView(child, index, params); + } else { + throw new UnsupportedOperationException("Refreshable View is not a ViewGroup so can't addView"); + } + } + + @Override + public final boolean demo() { + if (mMode.showHeaderLoadingLayout() && isReadyForPullStart()) { + smoothScrollToAndBack(-getHeaderSize() * 2); + return true; + } else if (mMode.showFooterLoadingLayout() && isReadyForPullEnd()) { + smoothScrollToAndBack(getFooterSize() * 2); + return true; + } + + return false; + } + + @Override + public final Mode getCurrentMode() { + return mCurrentMode; + } + + @Override + public final boolean getFilterTouchEvents() { + return mFilterTouchEvents; + } + + @Override + public final ILoadingLayout getLoadingLayoutProxy() { + return getLoadingLayoutProxy(true, true); + } + + @Override + public final ILoadingLayout getLoadingLayoutProxy(boolean includeStart, boolean includeEnd) { + return createLoadingLayoutProxy(includeStart, includeEnd); + } + + @Override + public final Mode getMode() { + return mMode; + } + + @Override + public final T getRefreshableView() { + return mRefreshableView; + } + + @Override + public final boolean getShowViewWhileRefreshing() { + return mShowViewWhileRefreshing; + } + + @Override + public final State getState() { + return mState; + } + + /** + * @deprecated See {@link #isScrollingWhileRefreshingEnabled()}. + */ + public final boolean isDisableScrollingWhileRefreshing() { + return !isScrollingWhileRefreshingEnabled(); + } + + @Override + public final boolean isPullToRefreshEnabled() { + return mMode.permitsPullToRefresh(); + } + + @Override + public final boolean isPullToRefreshOverScrollEnabled() { + return VERSION.SDK_INT >= VERSION_CODES.GINGERBREAD && mOverScrollEnabled + && OverscrollHelper.isAndroidOverScrollEnabled(mRefreshableView); + } + + @Override + public final boolean isRefreshing() { + return mState == State.REFRESHING || mState == State.MANUAL_REFRESHING; + } + + @Override + public final boolean isScrollingWhileRefreshingEnabled() { + return mScrollingWhileRefreshingEnabled; + } + + @Override + public final boolean onInterceptTouchEvent(MotionEvent event) { + + if (!isPullToRefreshEnabled()) { + return false; + } + + final int action = event.getAction(); + + if (action == MotionEvent.ACTION_CANCEL || action == MotionEvent.ACTION_UP) { + mIsBeingDragged = false; + return false; + } + + if (action != MotionEvent.ACTION_DOWN && mIsBeingDragged) { + return true; + } + + switch (action) { + case MotionEvent.ACTION_MOVE: { + // If we're refreshing, and the flag is set. Eat all MOVE events + if (!mScrollingWhileRefreshingEnabled && isRefreshing()) { + return true; + } + + if (isReadyForPull()) { + final float y = event.getY(), x = event.getX(); + final float diff, oppositeDiff, absDiff; + + // We need to use the correct values, based on scroll + // direction + switch (getPullToRefreshScrollDirection()) { + case HORIZONTAL: + diff = x - mLastMotionX; + oppositeDiff = y - mLastMotionY; + break; + case VERTICAL: + default: + diff = y - mLastMotionY; + oppositeDiff = x - mLastMotionX; + break; + } + absDiff = Math.abs(diff); + + if (absDiff > mTouchSlop && (!mFilterTouchEvents || absDiff > Math.abs(oppositeDiff))) { + if (mMode.showHeaderLoadingLayout() && diff >= 1f && isReadyForPullStart()) { + mLastMotionY = y; + mLastMotionX = x; + mIsBeingDragged = true; + if (mMode == Mode.BOTH) { + mCurrentMode = Mode.PULL_FROM_START; + } + } else if (mMode.showFooterLoadingLayout() && diff <= -1f && isReadyForPullEnd()) { + mLastMotionY = y; + mLastMotionX = x; + mIsBeingDragged = true; + if (mMode == Mode.BOTH) { + mCurrentMode = Mode.PULL_FROM_END; + } + } + } + } + break; + } + case MotionEvent.ACTION_DOWN: { + if (isReadyForPull()) { + mLastMotionY = mInitialMotionY = event.getY(); + mLastMotionX = mInitialMotionX = event.getX(); + mIsBeingDragged = false; + } + break; + } + } + + return mIsBeingDragged; + } + + @Override + public final void onRefreshComplete() { + if (isRefreshing()) { + setState(State.RESET); + } + } + + @Override + public final boolean onTouchEvent(MotionEvent event) { + + if (!isPullToRefreshEnabled()) { + return false; + } + + // If we're refreshing, and the flag is set. Eat the event + if (!mScrollingWhileRefreshingEnabled && isRefreshing()) { + return true; + } + + if (event.getAction() == MotionEvent.ACTION_DOWN && event.getEdgeFlags() != 0) { + return false; + } + + switch (event.getAction()) { + case MotionEvent.ACTION_MOVE: { + if (mIsBeingDragged) { + mLastMotionY = event.getY(); + mLastMotionX = event.getX(); + pullEvent(); + return true; + } + break; + } + + case MotionEvent.ACTION_DOWN: { + if (isReadyForPull()) { + mLastMotionY = mInitialMotionY = event.getY(); + mLastMotionX = mInitialMotionX = event.getX(); + return true; + } + break; + } + + case MotionEvent.ACTION_CANCEL: + case MotionEvent.ACTION_UP: { + if (mIsBeingDragged) { + mIsBeingDragged = false; + + if (mState == State.RELEASE_TO_REFRESH + && (null != mOnRefreshListener || null != mOnRefreshListener2)) { + setState(State.REFRESHING, true); + return true; + } + + // If we're already refreshing, just scroll back to the top + if (isRefreshing()) { + smoothScrollTo(0); + return true; + } + + // If we haven't returned by here, then we're not in a state + // to pull, so just reset + setState(State.RESET); + + return true; + } + break; + } + } + + return false; + } + + public final void setScrollingWhileRefreshingEnabled(boolean allowScrollingWhileRefreshing) { + mScrollingWhileRefreshingEnabled = allowScrollingWhileRefreshing; + } + + /** + * @deprecated See {@link #setScrollingWhileRefreshingEnabled(boolean)} + */ + public void setDisableScrollingWhileRefreshing(boolean disableScrollingWhileRefreshing) { + setScrollingWhileRefreshingEnabled(!disableScrollingWhileRefreshing); + } + + @Override + public final void setFilterTouchEvents(boolean filterEvents) { + mFilterTouchEvents = filterEvents; + } + + /** + * @deprecated You should now call this method on the result of + * {@link #getLoadingLayoutProxy()}. + */ + public void setLastUpdatedLabel(CharSequence label) { + getLoadingLayoutProxy().setLastUpdatedLabel(label); + } + + /** + * @deprecated You should now call this method on the result of + * {@link #getLoadingLayoutProxy()}. + */ + public void setLoadingDrawable(Drawable drawable) { + getLoadingLayoutProxy().setLoadingDrawable(drawable); + } + + /** + * @deprecated You should now call this method on the result of + * {@link #getLoadingLayoutProxy(boolean, boolean)}. + */ + public void setLoadingDrawable(Drawable drawable, Mode mode) { + getLoadingLayoutProxy(mode.showHeaderLoadingLayout(), mode.showFooterLoadingLayout()).setLoadingDrawable( + drawable); + } + + @Override + public void setLongClickable(boolean longClickable) { + getRefreshableView().setLongClickable(longClickable); + } + + @Override + public final void setMode(Mode mode) { + if (mode != mMode) { + if (DEBUG) { + Log.d(LOG_TAG, "Setting mode to: " + mode); + } + mMode = mode; + updateUIForMode(); + } + } + + public void setOnPullEventListener(OnPullEventListener listener) { + mOnPullEventListener = listener; + } + + @Override + public final void setOnRefreshListener(OnRefreshListener listener) { + mOnRefreshListener = listener; + mOnRefreshListener2 = null; + } + + @Override + public final void setOnRefreshListener(OnRefreshListener2 listener) { + mOnRefreshListener2 = listener; + mOnRefreshListener = null; + } + + /** + * @deprecated You should now call this method on the result of + * {@link #getLoadingLayoutProxy()}. + */ + public void setPullLabel(CharSequence pullLabel) { + getLoadingLayoutProxy().setPullLabel(pullLabel); + } + + /** + * @deprecated You should now call this method on the result of + * {@link #getLoadingLayoutProxy(boolean, boolean)}. + */ + public void setPullLabel(CharSequence pullLabel, Mode mode) { + getLoadingLayoutProxy(mode.showHeaderLoadingLayout(), mode.showFooterLoadingLayout()).setPullLabel(pullLabel); + } + + /** + * @param enable Whether Pull-To-Refresh should be used + * @deprecated This simple calls setMode with an appropriate mode based on + * the passed value. + */ + public final void setPullToRefreshEnabled(boolean enable) { + setMode(enable ? Mode.getDefault() : Mode.DISABLED); + } + + @Override + public final void setPullToRefreshOverScrollEnabled(boolean enabled) { + mOverScrollEnabled = enabled; + } + + @Override + public final void setRefreshing() { + setRefreshing(true); + } + + @Override + public final void setRefreshing(boolean doScroll) { + if (!isRefreshing()) { + setState(State.MANUAL_REFRESHING, doScroll); + } + } + + /** + * @deprecated You should now call this method on the result of + * {@link #getLoadingLayoutProxy()}. + */ + public void setRefreshingLabel(CharSequence refreshingLabel) { + getLoadingLayoutProxy().setRefreshingLabel(refreshingLabel); + } + + /** + * @deprecated You should now call this method on the result of + * {@link #getLoadingLayoutProxy(boolean, boolean)}. + */ + public void setRefreshingLabel(CharSequence refreshingLabel, Mode mode) { + getLoadingLayoutProxy(mode.showHeaderLoadingLayout(), mode.showFooterLoadingLayout()).setRefreshingLabel( + refreshingLabel); + } + + /** + * @deprecated You should now call this method on the result of + * {@link #getLoadingLayoutProxy()}. + */ + public void setReleaseLabel(CharSequence releaseLabel) { + setReleaseLabel(releaseLabel, Mode.BOTH); + } + + /** + * @deprecated You should now call this method on the result of + * {@link #getLoadingLayoutProxy(boolean, boolean)}. + */ + public void setReleaseLabel(CharSequence releaseLabel, Mode mode) { + getLoadingLayoutProxy(mode.showHeaderLoadingLayout(), mode.showFooterLoadingLayout()).setReleaseLabel( + releaseLabel); + } + + public void setScrollAnimationInterpolator(Interpolator interpolator) { + mScrollAnimationInterpolator = interpolator; + } + + @Override + public final void setShowViewWhileRefreshing(boolean showView) { + mShowViewWhileRefreshing = showView; + } + + /** + * @return Either {@link Orientation#VERTICAL} or + * {@link Orientation#HORIZONTAL} depending on the scroll direction. + */ + public abstract Orientation getPullToRefreshScrollDirection(); + + final void setState(State state, final boolean... params) { + mState = state; + if (DEBUG) { + Log.d(LOG_TAG, "State: " + mState.name()); + } + + switch (mState) { + case RESET: + onReset(); + break; + case PULL_TO_REFRESH: + onPullToRefresh(); + break; + case RELEASE_TO_REFRESH: + onReleaseToRefresh(); + break; + case REFRESHING: + case MANUAL_REFRESHING: + onRefreshing(params[0]); + break; + case OVERSCROLLING: + // NO-OP + break; + } + + // Call OnPullEventListener + if (null != mOnPullEventListener) { + mOnPullEventListener.onPullEvent(this, mState, mCurrentMode); + } + } + + /** + * Used internally for adding view. Need because we override addView to + * pass-through to the Refreshable View + */ + protected final void addViewInternal(View child, int index, ViewGroup.LayoutParams params) { + super.addView(child, index, params); + } + + /** + * Used internally for adding view. Need because we override addView to + * pass-through to the Refreshable View + */ + protected final void addViewInternal(View child, ViewGroup.LayoutParams params) { + super.addView(child, -1, params); + } + + protected LoadingLayout createLoadingLayout(Context context, Mode mode, TypedArray attrs) { + LoadingLayout layout = mLoadingAnimationStyle.createLoadingLayout(context, mode, + getPullToRefreshScrollDirection(), attrs); + layout.setVisibility(View.INVISIBLE); + return layout; + } + + /** + * Used internally for {@link #getLoadingLayoutProxy(boolean, boolean)}. + * Allows derivative classes to include any extra LoadingLayouts. + */ + protected LoadingLayoutProxy createLoadingLayoutProxy(final boolean includeStart, final boolean includeEnd) { + LoadingLayoutProxy proxy = new LoadingLayoutProxy(); + + if (includeStart && mMode.showHeaderLoadingLayout()) { + proxy.addLayout(mHeaderLayout); + } + if (includeEnd && mMode.showFooterLoadingLayout()) { + proxy.addLayout(mFooterLayout); + } + + return proxy; + } + + /** + * This is implemented by derived classes to return the created View. If you + * need to use a custom View (such as a custom ListView), override this + * method and return an instance of your custom class. + *

+ * Be sure to set the ID of the view in this method, especially if you're + * using a ListActivity or ListFragment. + * + * @param context Context to create view with + * @param attrs AttributeSet from wrapped class. Means that anything you + * include in the XML layout declaration will be routed to the + * created View + * @return New instance of the Refreshable View + */ + protected abstract T createRefreshableView(Context context, AttributeSet attrs); + + protected final void disableLoadingLayoutVisibilityChanges() { + mLayoutVisibilityChangesEnabled = false; + } + + protected final LoadingLayout getFooterLayout() { + return mFooterLayout; + } + + protected final int getFooterSize() { + return mFooterLayout.getContentSize(); + } + + protected final LoadingLayout getHeaderLayout() { + return mHeaderLayout; + } + + protected final int getHeaderSize() { + return mHeaderLayout.getContentSize(); + } + + protected int getPullToRefreshScrollDuration() { + return SMOOTH_SCROLL_DURATION_MS; + } + + protected int getPullToRefreshScrollDurationLonger() { + return SMOOTH_SCROLL_LONG_DURATION_MS; + } + + protected FrameLayout getRefreshableViewWrapper() { + return mRefreshableViewWrapper; + } + + /** + * Allows Derivative classes to handle the XML Attrs without creating a + * TypedArray themsevles + * + * @param a - TypedArray of PullToRefresh Attributes + */ + protected void handleStyledAttributes(TypedArray a) { + } + + /** + * Implemented by derived class to return whether the View is in a state + * where the user can Pull to Refresh by scrolling from the end. + * + * @return true if the View is currently in the correct state (for example, + * bottom of a ListView) + */ + protected abstract boolean isReadyForPullEnd(); + + /** + * Implemented by derived class to return whether the View is in a state + * where the user can Pull to Refresh by scrolling from the start. + * + * @return true if the View is currently the correct state (for example, top + * of a ListView) + */ + protected abstract boolean isReadyForPullStart(); + + /** + * Called by {@link #onRestoreInstanceState(Parcelable)} so that derivative + * classes can handle their saved instance state. + * + * @param savedInstanceState - Bundle which contains saved instance state. + */ + protected void onPtrRestoreInstanceState(Bundle savedInstanceState) { + } + + /** + * Called by {@link #onSaveInstanceState()} so that derivative classes can + * save their instance state. + * + * @param saveState - Bundle to be updated with saved state. + */ + protected void onPtrSaveInstanceState(Bundle saveState) { + } + + /** + * Called when the UI has been to be updated to be in the + * {@link State#PULL_TO_REFRESH} state. + */ + protected void onPullToRefresh() { + switch (mCurrentMode) { + case PULL_FROM_END: + mFooterLayout.pullToRefresh(); + break; + case PULL_FROM_START: + mHeaderLayout.pullToRefresh(); + break; + default: + // NO-OP + break; + } + } + + /** + * Called when the UI has been to be updated to be in the + * {@link State#REFRESHING} or {@link State#MANUAL_REFRESHING} state. + * + * @param doScroll - Whether the UI should scroll for this event. + */ + protected void onRefreshing(final boolean doScroll) { + if (mMode.showHeaderLoadingLayout()) { + mHeaderLayout.refreshing(); + } + if (mMode.showFooterLoadingLayout()) { + mFooterLayout.refreshing(); + } + + if (doScroll) { + if (mShowViewWhileRefreshing) { + + // Call Refresh Listener when the Scroll has finished + OnSmoothScrollFinishedListener listener = new OnSmoothScrollFinishedListener() { + @Override + public void onSmoothScrollFinished() { + callRefreshListener(); + } + }; + + switch (mCurrentMode) { + case MANUAL_REFRESH_ONLY: + case PULL_FROM_END: + smoothScrollTo(getFooterSize(), listener); + break; + default: + case PULL_FROM_START: + smoothScrollTo(-getHeaderSize(), listener); + break; + } + } else { + smoothScrollTo(0); + } + } else { + // We're not scrolling, so just call Refresh Listener now + callRefreshListener(); + } + } + + /** + * Called when the UI has been to be updated to be in the + * {@link State#RELEASE_TO_REFRESH} state. + */ + protected void onReleaseToRefresh() { + switch (mCurrentMode) { + case PULL_FROM_END: + mFooterLayout.releaseToRefresh(); + break; + case PULL_FROM_START: + mHeaderLayout.releaseToRefresh(); + break; + default: + // NO-OP + break; + } + } + + /** + * Called when the UI has been to be updated to be in the + * {@link State#RESET} state. + */ + protected void onReset() { + mIsBeingDragged = false; + mLayoutVisibilityChangesEnabled = true; + + // Always reset both layouts, just in case... + mHeaderLayout.reset(); + mFooterLayout.reset(); + + smoothScrollTo(0); + } + + @Override + protected final void onRestoreInstanceState(Parcelable state) { + if (state instanceof Bundle) { + Bundle bundle = (Bundle) state; + + setMode(Mode.mapIntToValue(bundle.getInt(STATE_MODE, 0))); + mCurrentMode = Mode.mapIntToValue(bundle.getInt(STATE_CURRENT_MODE, 0)); + + mScrollingWhileRefreshingEnabled = bundle.getBoolean(STATE_SCROLLING_REFRESHING_ENABLED, false); + mShowViewWhileRefreshing = bundle.getBoolean(STATE_SHOW_REFRESHING_VIEW, true); + + // Let super Restore Itself + super.onRestoreInstanceState(bundle.getParcelable(STATE_SUPER)); + + State viewState = State.mapIntToValue(bundle.getInt(STATE_STATE, 0)); + if (viewState == State.REFRESHING || viewState == State.MANUAL_REFRESHING) { + setState(viewState, true); + } + + // Now let derivative classes restore their state + onPtrRestoreInstanceState(bundle); + return; + } + + super.onRestoreInstanceState(state); + } + + @Override + protected final Parcelable onSaveInstanceState() { + Bundle bundle = new Bundle(); + + // Let derivative classes get a chance to save state first, that way we + // can make sure they don't overrite any of our values + onPtrSaveInstanceState(bundle); + + bundle.putInt(STATE_STATE, mState.getIntValue()); + bundle.putInt(STATE_MODE, mMode.getIntValue()); + bundle.putInt(STATE_CURRENT_MODE, mCurrentMode.getIntValue()); + bundle.putBoolean(STATE_SCROLLING_REFRESHING_ENABLED, mScrollingWhileRefreshingEnabled); + bundle.putBoolean(STATE_SHOW_REFRESHING_VIEW, mShowViewWhileRefreshing); + bundle.putParcelable(STATE_SUPER, super.onSaveInstanceState()); + + return bundle; + } + + @Override + protected final void onSizeChanged(int w, int h, int oldw, int oldh) { + if (DEBUG) { + Log.d(LOG_TAG, String.format("onSizeChanged. W: %d, H: %d", w, h)); + } + + super.onSizeChanged(w, h, oldw, oldh); + + // We need to update the header/footer when our size changes + refreshLoadingViewsSize(); + + // Update the Refreshable View layout + refreshRefreshableViewSize(w, h); + + /** + * As we're currently in a Layout Pass, we need to schedule another one + * to layout any changes we've made here + */ + post(new Runnable() { + @Override + public void run() { + requestLayout(); + } + }); + } + + /** + * Re-measure the Loading Views height, and adjust internal padding as + * necessary + */ + protected final void refreshLoadingViewsSize() { + final int maximumPullScroll = (int) (getMaximumPullScroll() * 1.2f); + + int pLeft = getPaddingLeft(); + int pTop = getPaddingTop(); + int pRight = getPaddingRight(); + int pBottom = getPaddingBottom(); + + switch (getPullToRefreshScrollDirection()) { + case HORIZONTAL: + if (mMode.showHeaderLoadingLayout()) { + mHeaderLayout.setWidth(maximumPullScroll); + pLeft = -maximumPullScroll; + } else { + pLeft = 0; + } + + if (mMode.showFooterLoadingLayout()) { + mFooterLayout.setWidth(maximumPullScroll); + pRight = -maximumPullScroll; + } else { + pRight = 0; + } + break; + + case VERTICAL: + if (mMode.showHeaderLoadingLayout()) { + mHeaderLayout.setHeight(maximumPullScroll); + pTop = -maximumPullScroll; + } else { + pTop = 0; + } + + if (mMode.showFooterLoadingLayout()) { + mFooterLayout.setHeight(maximumPullScroll); + pBottom = -maximumPullScroll; + } else { + pBottom = 0; + } + break; + } + + if (DEBUG) { + Log.d(LOG_TAG, String.format("Setting Padding. L: %d, T: %d, R: %d, B: %d", pLeft, pTop, pRight, pBottom)); + } + setPadding(pLeft, pTop, pRight, pBottom); + } + + protected final void refreshRefreshableViewSize(int width, int height) { + // We need to set the Height of the Refreshable View to the same as + // this layout + LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) mRefreshableViewWrapper.getLayoutParams(); + + switch (getPullToRefreshScrollDirection()) { + case HORIZONTAL: + if (lp.width != width) { + lp.width = width; + mRefreshableViewWrapper.requestLayout(); + } + break; + case VERTICAL: + if (lp.height != height) { + lp.height = height; + mRefreshableViewWrapper.requestLayout(); + } + break; + } + } + + /** + * Helper method which just calls scrollTo() in the correct scrolling + * direction. + * + * @param value - New Scroll value + */ + protected final void setHeaderScroll(int value) { + if (DEBUG) { + Log.d(LOG_TAG, "setHeaderScroll: " + value); + } + + // Clamp value to with pull scroll range + final int maximumPullScroll = getMaximumPullScroll(); + value = Math.min(maximumPullScroll, Math.max(-maximumPullScroll, value)); + + if (mLayoutVisibilityChangesEnabled) { + if (value < 0) { + mHeaderLayout.setVisibility(View.VISIBLE); + } else if (value > 0) { + mFooterLayout.setVisibility(View.VISIBLE); + } else { + mHeaderLayout.setVisibility(View.INVISIBLE); + mFooterLayout.setVisibility(View.INVISIBLE); + } + } + + if (USE_HW_LAYERS) { + /** + * Use a Hardware Layer on the Refreshable View if we've scrolled at + * all. We don't use them on the Header/Footer Views as they change + * often, which would negate any HW layer performance boost. + */ + ViewCompat.setLayerType(mRefreshableViewWrapper, value != 0 ? View.LAYER_TYPE_HARDWARE + : View.LAYER_TYPE_NONE); + } + + switch (getPullToRefreshScrollDirection()) { + case VERTICAL: + scrollTo(0, value); + break; + case HORIZONTAL: + scrollTo(value, 0); + break; + } + } + + /** + * Smooth Scroll to position using the default duration of + * {@value #SMOOTH_SCROLL_DURATION_MS} ms. + * + * @param scrollValue - Position to scroll to + */ + protected final void smoothScrollTo(int scrollValue) { + smoothScrollTo(scrollValue, getPullToRefreshScrollDuration()); + } + + /** + * Smooth Scroll to position using the default duration of + * {@value #SMOOTH_SCROLL_DURATION_MS} ms. + * + * @param scrollValue - Position to scroll to + * @param listener - Listener for scroll + */ + protected final void smoothScrollTo(int scrollValue, OnSmoothScrollFinishedListener listener) { + smoothScrollTo(scrollValue, getPullToRefreshScrollDuration(), 0, listener); + } + + /** + * Smooth Scroll to position using the longer default duration of + * {@value #SMOOTH_SCROLL_LONG_DURATION_MS} ms. + * + * @param scrollValue - Position to scroll to + */ + protected final void smoothScrollToLonger(int scrollValue) { + smoothScrollTo(scrollValue, getPullToRefreshScrollDurationLonger()); + } + + /** + * Updates the View State when the mode has been set. This does not do any + * checking that the mode is different to current state so always updates. + */ + protected void updateUIForMode() { + // We need to use the correct LayoutParam values, based on scroll + // direction + final LinearLayout.LayoutParams lp = getLoadingLayoutLayoutParams(); + + // Remove Header, and then add Header Loading View again if needed + if (this == mHeaderLayout.getParent()) { + removeView(mHeaderLayout); + } + if (mMode.showHeaderLoadingLayout()) { + addViewInternal(mHeaderLayout, 0, lp); + } + + // Remove Footer, and then add Footer Loading View again if needed + if (this == mFooterLayout.getParent()) { + removeView(mFooterLayout); + } + if (mMode.showFooterLoadingLayout()) { + addViewInternal(mFooterLayout, lp); + } + + // Hide Loading Views + refreshLoadingViewsSize(); + + // If we're not using Mode.BOTH, set mCurrentMode to mMode, otherwise + // set it to pull down + mCurrentMode = (mMode != Mode.BOTH) ? mMode : Mode.PULL_FROM_START; + } + + private void addRefreshableView(Context context, T refreshableView) { + mRefreshableViewWrapper = new FrameLayout(context); + mRefreshableViewWrapper.addView(refreshableView, ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.MATCH_PARENT); + + addViewInternal(mRefreshableViewWrapper, new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, + LayoutParams.MATCH_PARENT)); + } + + private void callRefreshListener() { + if (null != mOnRefreshListener) { + mOnRefreshListener.onRefresh(this); + } else if (null != mOnRefreshListener2) { + if (mCurrentMode == Mode.PULL_FROM_START) { + mOnRefreshListener2.onPullDownToRefresh(this); + } else if (mCurrentMode == Mode.PULL_FROM_END) { + mOnRefreshListener2.onPullUpToRefresh(this); + } + } + } + + @SuppressWarnings("deprecation") + private void init(Context context, AttributeSet attrs) { + switch (getPullToRefreshScrollDirection()) { + case HORIZONTAL: + setOrientation(LinearLayout.HORIZONTAL); + break; + case VERTICAL: + default: + setOrientation(LinearLayout.VERTICAL); + break; + } + + setGravity(Gravity.CENTER); + + ViewConfiguration config = ViewConfiguration.get(context); + mTouchSlop = config.getScaledTouchSlop(); + + // Styleables from XML + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.PullToRefresh); + + if (a.hasValue(R.styleable.PullToRefresh_ptrMode)) { + mMode = Mode.mapIntToValue(a.getInteger(R.styleable.PullToRefresh_ptrMode, 0)); + } + + if (a.hasValue(R.styleable.PullToRefresh_ptrAnimationStyle)) { + mLoadingAnimationStyle = AnimationStyle.mapIntToValue(a.getInteger( + R.styleable.PullToRefresh_ptrAnimationStyle, 0)); + } + + // Refreshable View + // By passing the attrs, we can add ListView/GridView params via XML + mRefreshableView = createRefreshableView(context, attrs); + addRefreshableView(context, mRefreshableView); + + // We need to create now layouts now + mHeaderLayout = createLoadingLayout(context, Mode.PULL_FROM_START, a); + mFooterLayout = createLoadingLayout(context, Mode.PULL_FROM_END, a); + + /** + * Styleables from XML + */ + if (a.hasValue(R.styleable.PullToRefresh_ptrRefreshableViewBackground)) { + Drawable background = a.getDrawable(R.styleable.PullToRefresh_ptrRefreshableViewBackground); + if (null != background) { + mRefreshableView.setBackgroundDrawable(background); + } + } else if (a.hasValue(R.styleable.PullToRefresh_ptrAdapterViewBackground)) { + Utils.warnDeprecation("ptrAdapterViewBackground", "ptrRefreshableViewBackground"); + Drawable background = a.getDrawable(R.styleable.PullToRefresh_ptrAdapterViewBackground); + if (null != background) { + mRefreshableView.setBackgroundDrawable(background); + } + } + + if (a.hasValue(R.styleable.PullToRefresh_ptrOverScroll)) { + mOverScrollEnabled = a.getBoolean(R.styleable.PullToRefresh_ptrOverScroll, true); + } + + if (a.hasValue(R.styleable.PullToRefresh_ptrScrollingWhileRefreshingEnabled)) { + mScrollingWhileRefreshingEnabled = a.getBoolean( + R.styleable.PullToRefresh_ptrScrollingWhileRefreshingEnabled, false); + } + + // Let the derivative classes have a go at handling attributes, then + // recycle them... + handleStyledAttributes(a); + a.recycle(); + + // Finally update the UI for the modes + updateUIForMode(); + } + + private boolean isReadyForPull() { + switch (mMode) { + case PULL_FROM_START: + return isReadyForPullStart(); + case PULL_FROM_END: + return isReadyForPullEnd(); + case BOTH: + return isReadyForPullEnd() || isReadyForPullStart(); + default: + return false; + } + } + + /** + * Actions a Pull Event + * + * @return true if the Event has been handled, false if there has been no + * change + */ + private void pullEvent() { + final int newScrollValue; + final int itemDimension; + final float initialMotionValue, lastMotionValue; + + switch (getPullToRefreshScrollDirection()) { + case HORIZONTAL: + initialMotionValue = mInitialMotionX; + lastMotionValue = mLastMotionX; + break; + case VERTICAL: + default: + initialMotionValue = mInitialMotionY; + lastMotionValue = mLastMotionY; + break; + } + + switch (mCurrentMode) { + case PULL_FROM_END: + newScrollValue = Math.round(Math.max(initialMotionValue - lastMotionValue, 0) / FRICTION); + itemDimension = getFooterSize(); + break; + case PULL_FROM_START: + default: + newScrollValue = Math.round(Math.min(initialMotionValue - lastMotionValue, 0) / FRICTION); + itemDimension = getHeaderSize(); + break; + } + + setHeaderScroll(newScrollValue); + + if (newScrollValue != 0 && !isRefreshing()) { + float scale = Math.abs(newScrollValue) / (float) itemDimension; + switch (mCurrentMode) { + case PULL_FROM_END: + mFooterLayout.onPull(scale); + break; + case PULL_FROM_START: + default: + mHeaderLayout.onPull(scale); + break; + } + + if (mState != State.PULL_TO_REFRESH && itemDimension >= Math.abs(newScrollValue)) { + setState(State.PULL_TO_REFRESH); + } else if (mState == State.PULL_TO_REFRESH && itemDimension < Math.abs(newScrollValue)) { + setState(State.RELEASE_TO_REFRESH); + } + } + } + + private LinearLayout.LayoutParams getLoadingLayoutLayoutParams() { + switch (getPullToRefreshScrollDirection()) { + case HORIZONTAL: + return new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, + LinearLayout.LayoutParams.MATCH_PARENT); + case VERTICAL: + default: + return new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.WRAP_CONTENT); + } + } + + private int getMaximumPullScroll() { + switch (getPullToRefreshScrollDirection()) { + case HORIZONTAL: + return Math.round(getWidth() / FRICTION); + case VERTICAL: + default: + return Math.round(getHeight() / FRICTION); + } + } + + /** + * Smooth Scroll to position using the specific duration + * + * @param scrollValue - Position to scroll to + * @param duration - Duration of animation in milliseconds + */ + private final void smoothScrollTo(int scrollValue, long duration) { + smoothScrollTo(scrollValue, duration, 0, null); + } + + private final void smoothScrollTo(int newScrollValue, long duration, long delayMillis, + OnSmoothScrollFinishedListener listener) { + if (null != mCurrentSmoothScrollRunnable) { + mCurrentSmoothScrollRunnable.stop(); + } + + final int oldScrollValue; + switch (getPullToRefreshScrollDirection()) { + case HORIZONTAL: + oldScrollValue = getScrollX(); + break; + case VERTICAL: + default: + oldScrollValue = getScrollY(); + break; + } + + if (oldScrollValue != newScrollValue) { + if (null == mScrollAnimationInterpolator) { + // Default interpolator is a Decelerate Interpolator + mScrollAnimationInterpolator = new DecelerateInterpolator(); + } + mCurrentSmoothScrollRunnable = new SmoothScrollRunnable(oldScrollValue, newScrollValue, duration, listener); + + if (delayMillis > 0) { + postDelayed(mCurrentSmoothScrollRunnable, delayMillis); + } else { + post(mCurrentSmoothScrollRunnable); + } + } + } + + private final void smoothScrollToAndBack(int y) { + smoothScrollTo(y, SMOOTH_SCROLL_DURATION_MS, 0, new OnSmoothScrollFinishedListener() { + + @Override + public void onSmoothScrollFinished() { + smoothScrollTo(0, SMOOTH_SCROLL_DURATION_MS, DEMO_SCROLL_INTERVAL, null); + } + }); + } + + public static enum AnimationStyle { + /** + * This is the default for Android-PullToRefresh. Allows you to use any + * drawable, which is automatically rotated and used as a Progress Bar. + */ + ROTATE, + + /** + * This is the old default, and what is commonly used on iOS. Uses an + * arrow image which flips depending on where the user has scrolled. + */ + FLIP; + + static AnimationStyle getDefault() { + return ROTATE; + } + + /** + * Maps an int to a specific mode. This is needed when saving state, or + * inflating the view from XML where the mode is given through a attr + * int. + * + * @param modeInt - int to map a Mode to + * @return Mode that modeInt maps to, or ROTATE by default. + */ + static AnimationStyle mapIntToValue(int modeInt) { + switch (modeInt) { + case 0x0: + default: + return ROTATE; + case 0x1: + return FLIP; + } + } + + LoadingLayout createLoadingLayout(Context context, Mode mode, Orientation scrollDirection, TypedArray attrs) { + switch (this) { + case ROTATE: + default: + //return new RotateLoadingLayout(context, mode, scrollDirection, attrs); + return new TweenAnimLoadingLayout(context, mode, scrollDirection, attrs); + case FLIP: + //return new FlipLoadingLayout(context, mode, scrollDirection, attrs); + return new TweenAnimLoadingLayout(context, mode, scrollDirection, attrs); + } + } + } + + public static enum Mode { + + /** + * Disable all Pull-to-Refresh gesture and Refreshing handling + */ + DISABLED(0x0), + + /** + * Only allow the user to Pull from the start of the Refreshable View to + * refresh. The start is either the Top or Left, depending on the + * scrolling direction. + */ + PULL_FROM_START(0x1), + + /** + * Only allow the user to Pull from the end of the Refreshable View to + * refresh. The start is either the Bottom or Right, depending on the + * scrolling direction. + */ + PULL_FROM_END(0x2), + + /** + * Allow the user to both Pull from the start, from the end to refresh. + */ + BOTH(0x3), + + /** + * Disables Pull-to-Refresh gesture handling, but allows manually + * setting the Refresh state via + * {@link PullToRefreshBase#setRefreshing() setRefreshing()}. + */ + MANUAL_REFRESH_ONLY(0x4); + + /** + * @deprecated Use {@link #PULL_FROM_START} from now on. + */ + public static Mode PULL_DOWN_TO_REFRESH = Mode.PULL_FROM_START; + + /** + * @deprecated Use {@link #PULL_FROM_END} from now on. + */ + public static Mode PULL_UP_TO_REFRESH = Mode.PULL_FROM_END; + + /** + * Maps an int to a specific mode. This is needed when saving state, or + * inflating the view from XML where the mode is given through a attr + * int. + * + * @param modeInt - int to map a Mode to + * @return Mode that modeInt maps to, or PULL_FROM_START by default. + */ + static Mode mapIntToValue(final int modeInt) { + for (Mode value : Mode.values()) { + if (modeInt == value.getIntValue()) { + return value; + } + } + + // If not, return default + return getDefault(); + } + + static Mode getDefault() { + return PULL_FROM_START; + } + + private int mIntValue; + + // The modeInt values need to match those from attrs.xml + Mode(int modeInt) { + mIntValue = modeInt; + } + + /** + * @return true if the mode permits Pull-to-Refresh + */ + boolean permitsPullToRefresh() { + return !(this == DISABLED || this == MANUAL_REFRESH_ONLY); + } + + /** + * @return true if this mode wants the Loading Layout Header to be shown + */ + public boolean showHeaderLoadingLayout() { + return this == PULL_FROM_START || this == BOTH; + } + + /** + * @return true if this mode wants the Loading Layout Footer to be shown + */ + public boolean showFooterLoadingLayout() { + return this == PULL_FROM_END || this == BOTH || this == MANUAL_REFRESH_ONLY; + } + + int getIntValue() { + return mIntValue; + } + + } + + // =========================================================== + // Inner, Anonymous Classes, and Enumerations + // =========================================================== + + /** + * Simple Listener that allows you to be notified when the user has scrolled + * to the end of the AdapterView. See ( + * {@link PullToRefreshAdapterViewBase#setOnLastItemVisibleListener}. + * + * @author Chris Banes + */ + public static interface OnLastItemVisibleListener { + + /** + * Called when the user has scrolled to the end of the list + */ + public void onLastItemVisible(); + + } + + /** + * Listener that allows you to be notified when the user has started or + * finished a touch event. Useful when you want to append extra UI events + * (such as sounds). See ( + * {@link PullToRefreshAdapterViewBase#setOnPullEventListener}. + * + * @author Chris Banes + */ + public static interface OnPullEventListener { + + /** + * Called when the internal state has been changed, usually by the user + * pulling. + * + * @param refreshView - View which has had it's state change. + * @param state - The new state of View. + * @param direction - One of {@link Mode#PULL_FROM_START} or + * {@link Mode#PULL_FROM_END} depending on which direction + * the user is pulling. Only useful when state is + * {@link State#PULL_TO_REFRESH} or + * {@link State#RELEASE_TO_REFRESH}. + */ + public void onPullEvent(final PullToRefreshBase refreshView, State state, Mode direction); + + } + + /** + * Simple Listener to listen for any callbacks to Refresh. + * + * @author Chris Banes + */ + public static interface OnRefreshListener { + + /** + * onRefresh will be called for both a Pull from start, and Pull from + * end + */ + public void onRefresh(final PullToRefreshBase refreshView); + + } + + /** + * An advanced version of the Listener to listen for callbacks to Refresh. + * This listener is different as it allows you to differentiate between Pull + * Ups, and Pull Downs. + * + * @author Chris Banes + */ + public static interface OnRefreshListener2 { + // TODO These methods need renaming to START/END rather than DOWN/UP + + /** + * onPullDownToRefresh will be called only when the user has Pulled from + * the start, and released. + */ + public void onPullDownToRefresh(final PullToRefreshBase refreshView); + + /** + * onPullUpToRefresh will be called only when the user has Pulled from + * the end, and released. + */ + public void onPullUpToRefresh(final PullToRefreshBase refreshView); + + } + + public static enum Orientation { + VERTICAL, HORIZONTAL; + } + + public static enum State { + + /** + * When the UI is in a state which means that user is not interacting + * with the Pull-to-Refresh function. + */ + RESET(0x0), + + /** + * When the UI is being pulled by the user, but has not been pulled far + * enough so that it refreshes when released. + */ + PULL_TO_REFRESH(0x1), + + /** + * When the UI is being pulled by the user, and has + * been pulled far enough so that it will refresh when released. + */ + RELEASE_TO_REFRESH(0x2), + + /** + * When the UI is currently refreshing, caused by a pull gesture. + */ + REFRESHING(0x8), + + /** + * When the UI is currently refreshing, caused by a call to + * {@link PullToRefreshBase#setRefreshing() setRefreshing()}. + */ + MANUAL_REFRESHING(0x9), + + /** + * When the UI is currently overscrolling, caused by a fling on the + * Refreshable View. + */ + OVERSCROLLING(0x10); + + /** + * Maps an int to a specific state. This is needed when saving state. + * + * @param stateInt - int to map a State to + * @return State that stateInt maps to + */ + static State mapIntToValue(final int stateInt) { + for (State value : State.values()) { + if (stateInt == value.getIntValue()) { + return value; + } + } + + // If not, return default + return RESET; + } + + private int mIntValue; + + State(int intValue) { + mIntValue = intValue; + } + + int getIntValue() { + return mIntValue; + } + } + + final class SmoothScrollRunnable implements Runnable { + private final Interpolator mInterpolator; + private final int mScrollToY; + private final int mScrollFromY; + private final long mDuration; + private OnSmoothScrollFinishedListener mListener; + + private boolean mContinueRunning = true; + private long mStartTime = -1; + private int mCurrentY = -1; + + public SmoothScrollRunnable(int fromY, int toY, long duration, OnSmoothScrollFinishedListener listener) { + mScrollFromY = fromY; + mScrollToY = toY; + mInterpolator = mScrollAnimationInterpolator; + mDuration = duration; + mListener = listener; + } + + @Override + public void run() { + + /** + * Only set mStartTime if this is the first time we're starting, + * else actually calculate the Y delta + */ + if (mStartTime == -1) { + mStartTime = System.currentTimeMillis(); + } else { + + /** + * We do do all calculations in long to reduce software float + * calculations. We use 1000 as it gives us good accuracy and + * small rounding errors + */ + long normalizedTime = (1000 * (System.currentTimeMillis() - mStartTime)) / mDuration; + normalizedTime = Math.max(Math.min(normalizedTime, 1000), 0); + + final int deltaY = Math.round((mScrollFromY - mScrollToY) + * mInterpolator.getInterpolation(normalizedTime / 1000f)); + mCurrentY = mScrollFromY - deltaY; + setHeaderScroll(mCurrentY); + } + + // If we're not at the target Y, keep going... + if (mContinueRunning && mScrollToY != mCurrentY) { + ViewCompat.postOnAnimation(PullToRefreshBase.this, this); + } else { + if (null != mListener) { + mListener.onSmoothScrollFinished(); + } + } + } + + public void stop() { + mContinueRunning = false; + removeCallbacks(this); + } + } + + static interface OnSmoothScrollFinishedListener { + void onSmoothScrollFinished(); + } + +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.java new file mode 100644 index 0000000..649020c --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.java @@ -0,0 +1,103 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library; + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build.VERSION; +import android.os.Build.VERSION_CODES; +import android.util.AttributeSet; +import android.view.View; +import android.widget.ExpandableListView; + +import com.handmark.pulltorefresh.library.internal.EmptyViewMethodAccessor; + +public class PullToRefreshExpandableListView extends PullToRefreshAdapterViewBase { + + public PullToRefreshExpandableListView(Context context) { + super(context); + } + + public PullToRefreshExpandableListView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public PullToRefreshExpandableListView(Context context, Mode mode) { + super(context, mode); + } + + public PullToRefreshExpandableListView(Context context, Mode mode, AnimationStyle style) { + super(context, mode, style); + } + + @Override + public final Orientation getPullToRefreshScrollDirection() { + return Orientation.VERTICAL; + } + + @Override + protected ExpandableListView createRefreshableView(Context context, AttributeSet attrs) { + final ExpandableListView lv; + if (VERSION.SDK_INT >= VERSION_CODES.GINGERBREAD) { + lv = new InternalExpandableListViewSDK9(context, attrs); + } else { + lv = new InternalExpandableListView(context, attrs); + } + + // Set it to this so it can be used in ListActivity/ListFragment + lv.setId(android.R.id.list); + return lv; + } + + class InternalExpandableListView extends ExpandableListView implements EmptyViewMethodAccessor { + + public InternalExpandableListView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + public void setEmptyView(View emptyView) { + PullToRefreshExpandableListView.this.setEmptyView(emptyView); + } + + @Override + public void setEmptyViewInternal(View emptyView) { + super.setEmptyView(emptyView); + } + } + + @TargetApi(9) + final class InternalExpandableListViewSDK9 extends InternalExpandableListView { + + public InternalExpandableListViewSDK9(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, + int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) { + + final boolean returnValue = super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, + scrollRangeY, maxOverScrollX, maxOverScrollY, isTouchEvent); + + // Does all of the hard work... + OverscrollHelper.overScrollBy(PullToRefreshExpandableListView.this, deltaX, scrollX, deltaY, scrollY, + isTouchEvent); + + return returnValue; + } + } +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshGridView.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshGridView.java new file mode 100644 index 0000000..f950688 --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshGridView.java @@ -0,0 +1,102 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library; + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build.VERSION; +import android.os.Build.VERSION_CODES; +import android.util.AttributeSet; +import android.view.View; +import android.widget.GridView; + +import com.handmark.pulltorefresh.library.internal.EmptyViewMethodAccessor; + +public class PullToRefreshGridView extends PullToRefreshAdapterViewBase { + + public PullToRefreshGridView(Context context) { + super(context); + } + + public PullToRefreshGridView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public PullToRefreshGridView(Context context, Mode mode) { + super(context, mode); + } + + public PullToRefreshGridView(Context context, Mode mode, AnimationStyle style) { + super(context, mode, style); + } + + @Override + public final Orientation getPullToRefreshScrollDirection() { + return Orientation.VERTICAL; + } + + @Override + protected final GridView createRefreshableView(Context context, AttributeSet attrs) { + final GridView gv; + if (VERSION.SDK_INT >= VERSION_CODES.GINGERBREAD) { + gv = new InternalGridViewSDK9(context, attrs); + } else { + gv = new InternalGridView(context, attrs); + } + + // Use Generated ID (from res/values/ids.xml) + gv.setId(R.id.gridview); + return gv; + } + + class InternalGridView extends GridView implements EmptyViewMethodAccessor { + + public InternalGridView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + public void setEmptyView(View emptyView) { + PullToRefreshGridView.this.setEmptyView(emptyView); + } + + @Override + public void setEmptyViewInternal(View emptyView) { + super.setEmptyView(emptyView); + } + } + + @TargetApi(9) + final class InternalGridViewSDK9 extends InternalGridView { + + public InternalGridViewSDK9(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, + int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) { + + final boolean returnValue = super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, + scrollRangeY, maxOverScrollX, maxOverScrollY, isTouchEvent); + + // Does all of the hard work... + OverscrollHelper.overScrollBy(PullToRefreshGridView.this, deltaX, scrollX, deltaY, scrollY, isTouchEvent); + + return returnValue; + } + } +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.java new file mode 100644 index 0000000..a70f7ad --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.java @@ -0,0 +1,110 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library; + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build.VERSION; +import android.os.Build.VERSION_CODES; +import android.util.AttributeSet; +import android.view.View; +import android.widget.HorizontalScrollView; + +public class PullToRefreshHorizontalScrollView extends PullToRefreshBase { + + public PullToRefreshHorizontalScrollView(Context context) { + super(context); + } + + public PullToRefreshHorizontalScrollView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public PullToRefreshHorizontalScrollView(Context context, Mode mode) { + super(context, mode); + } + + public PullToRefreshHorizontalScrollView(Context context, Mode mode, AnimationStyle style) { + super(context, mode, style); + } + + @Override + public final Orientation getPullToRefreshScrollDirection() { + return Orientation.HORIZONTAL; + } + + @Override + protected HorizontalScrollView createRefreshableView(Context context, AttributeSet attrs) { + HorizontalScrollView scrollView; + + if (VERSION.SDK_INT >= VERSION_CODES.GINGERBREAD) { + scrollView = new InternalHorizontalScrollViewSDK9(context, attrs); + } else { + scrollView = new HorizontalScrollView(context, attrs); + } + + scrollView.setId(R.id.scrollview); + return scrollView; + } + + @Override + protected boolean isReadyForPullStart() { + return mRefreshableView.getScrollX() == 0; + } + + @Override + protected boolean isReadyForPullEnd() { + View scrollViewChild = mRefreshableView.getChildAt(0); + if (null != scrollViewChild) { + return mRefreshableView.getScrollX() >= (scrollViewChild.getWidth() - getWidth()); + } + return false; + } + + @TargetApi(9) + final class InternalHorizontalScrollViewSDK9 extends HorizontalScrollView { + + public InternalHorizontalScrollViewSDK9(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, + int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) { + + final boolean returnValue = super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, + scrollRangeY, maxOverScrollX, maxOverScrollY, isTouchEvent); + + // Does all of the hard work... + OverscrollHelper.overScrollBy(PullToRefreshHorizontalScrollView.this, deltaX, scrollX, deltaY, scrollY, + getScrollRange(), isTouchEvent); + + return returnValue; + } + + /** + * Taken from the AOSP ScrollView source + */ + private int getScrollRange() { + int scrollRange = 0; + if (getChildCount() > 0) { + View child = getChildAt(0); + scrollRange = Math.max(0, child.getWidth() - (getWidth() - getPaddingLeft() - getPaddingRight())); + } + return scrollRange; + } + } +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshListView.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshListView.java new file mode 100644 index 0000000..0aa9a27 --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshListView.java @@ -0,0 +1,337 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library; + +import android.annotation.TargetApi; +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.os.Build.VERSION; +import android.os.Build.VERSION_CODES; +import android.util.AttributeSet; +import android.view.Gravity; +import android.view.MotionEvent; +import android.view.View; +import android.widget.FrameLayout; +import android.widget.ListAdapter; +import android.widget.ListView; + +import com.handmark.pulltorefresh.library.internal.EmptyViewMethodAccessor; +import com.handmark.pulltorefresh.library.internal.LoadingLayout; + +public class PullToRefreshListView extends PullToRefreshAdapterViewBase { + + private LoadingLayout mHeaderLoadingView; + private LoadingLayout mFooterLoadingView; + + private FrameLayout mLvFooterLoadingFrame; + + private boolean mListViewExtrasEnabled; + + public PullToRefreshListView(Context context) { + super(context); + } + + public PullToRefreshListView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public PullToRefreshListView(Context context, Mode mode) { + super(context, mode); + } + + public PullToRefreshListView(Context context, Mode mode, AnimationStyle style) { + super(context, mode, style); + } + + @Override + public final Orientation getPullToRefreshScrollDirection() { + return Orientation.VERTICAL; + } + + @Override + protected void onRefreshing(final boolean doScroll) { + /** + * If we're not showing the Refreshing view, or the list is empty, the + * the header/footer views won't show so we use the normal method. + */ + ListAdapter adapter = mRefreshableView.getAdapter(); + if (!mListViewExtrasEnabled || !getShowViewWhileRefreshing() || null == adapter || adapter.isEmpty()) { + super.onRefreshing(doScroll); + return; + } + + super.onRefreshing(false); + + final LoadingLayout origLoadingView, listViewLoadingView, oppositeListViewLoadingView; + final int selection, scrollToY; + + switch (getCurrentMode()) { + case MANUAL_REFRESH_ONLY: + case PULL_FROM_END: + origLoadingView = getFooterLayout(); + listViewLoadingView = mFooterLoadingView; + oppositeListViewLoadingView = mHeaderLoadingView; + selection = mRefreshableView.getCount() - 1; + scrollToY = getScrollY() - getFooterSize(); + break; + case PULL_FROM_START: + default: + origLoadingView = getHeaderLayout(); + listViewLoadingView = mHeaderLoadingView; + oppositeListViewLoadingView = mFooterLoadingView; + selection = 0; + scrollToY = getScrollY() + getHeaderSize(); + break; + } + + // Hide our original Loading View + origLoadingView.reset(); + origLoadingView.hideAllViews(); + + // Make sure the opposite end is hidden too + oppositeListViewLoadingView.setVisibility(View.GONE); + + // Show the ListView Loading View and set it to refresh. + listViewLoadingView.setVisibility(View.VISIBLE); + listViewLoadingView.refreshing(); + + if (doScroll) { + // We need to disable the automatic visibility changes for now + disableLoadingLayoutVisibilityChanges(); + + // We scroll slightly so that the ListView's header/footer is at the + // same Y position as our normal header/footer + setHeaderScroll(scrollToY); + + // Make sure the ListView is scrolled to show the loading + // header/footer + mRefreshableView.setSelection(selection); + + // Smooth scroll as normal + smoothScrollTo(0); + } + } + + @Override + protected void onReset() { + /** + * If the extras are not enabled, just call up to super and return. + */ + if (!mListViewExtrasEnabled) { + super.onReset(); + return; + } + + final LoadingLayout originalLoadingLayout, listViewLoadingLayout; + final int scrollToHeight, selection; + final boolean scrollLvToEdge; + + switch (getCurrentMode()) { + case MANUAL_REFRESH_ONLY: + case PULL_FROM_END: + originalLoadingLayout = getFooterLayout(); + listViewLoadingLayout = mFooterLoadingView; + selection = mRefreshableView.getCount() - 1; + scrollToHeight = getFooterSize(); + scrollLvToEdge = Math.abs(mRefreshableView.getLastVisiblePosition() - selection) <= 1; + break; + case PULL_FROM_START: + default: + originalLoadingLayout = getHeaderLayout(); + listViewLoadingLayout = mHeaderLoadingView; + scrollToHeight = -getHeaderSize(); + selection = 0; + scrollLvToEdge = Math.abs(mRefreshableView.getFirstVisiblePosition() - selection) <= 1; + break; + } + + // If the ListView header loading layout is showing, then we need to + // flip so that the original one is showing instead + if (listViewLoadingLayout.getVisibility() == View.VISIBLE) { + + // Set our Original View to Visible + originalLoadingLayout.showInvisibleViews(); + + // Hide the ListView Header/Footer + listViewLoadingLayout.setVisibility(View.GONE); + + /** + * Scroll so the View is at the same Y as the ListView + * header/footer, but only scroll if: we've pulled to refresh, it's + * positioned correctly + */ + if (scrollLvToEdge && getState() != State.MANUAL_REFRESHING) { + mRefreshableView.setSelection(selection); + setHeaderScroll(scrollToHeight); + } + } + + // Finally, call up to super + super.onReset(); + } + + @Override + protected LoadingLayoutProxy createLoadingLayoutProxy(final boolean includeStart, final boolean includeEnd) { + LoadingLayoutProxy proxy = super.createLoadingLayoutProxy(includeStart, includeEnd); + + if (mListViewExtrasEnabled) { + final Mode mode = getMode(); + + if (includeStart && mode.showHeaderLoadingLayout()) { + proxy.addLayout(mHeaderLoadingView); + } + if (includeEnd && mode.showFooterLoadingLayout()) { + proxy.addLayout(mFooterLoadingView); + } + } + + return proxy; + } + + protected ListView createListView(Context context, AttributeSet attrs) { + final ListView lv; + if (VERSION.SDK_INT >= VERSION_CODES.GINGERBREAD) { + lv = new InternalListViewSDK9(context, attrs); + } else { + lv = new InternalListView(context, attrs); + } + return lv; + } + + @Override + protected ListView createRefreshableView(Context context, AttributeSet attrs) { + ListView lv = createListView(context, attrs); + + // Set it to this so it can be used in ListActivity/ListFragment + lv.setId(android.R.id.list); + return lv; + } + + @Override + protected void handleStyledAttributes(TypedArray a) { + super.handleStyledAttributes(a); + + mListViewExtrasEnabled = a.getBoolean(R.styleable.PullToRefresh_ptrListViewExtrasEnabled, true); + + if (mListViewExtrasEnabled) { + final FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, + FrameLayout.LayoutParams.WRAP_CONTENT, Gravity.CENTER_HORIZONTAL); + + // Create Loading Views ready for use later + FrameLayout frame = new FrameLayout(getContext()); + mHeaderLoadingView = createLoadingLayout(getContext(), Mode.PULL_FROM_START, a); + mHeaderLoadingView.setVisibility(View.GONE); + frame.addView(mHeaderLoadingView, lp); + mRefreshableView.addHeaderView(frame, null, false); + + mLvFooterLoadingFrame = new FrameLayout(getContext()); + mFooterLoadingView = createLoadingLayout(getContext(), Mode.PULL_FROM_END, a); + mFooterLoadingView.setVisibility(View.GONE); + mLvFooterLoadingFrame.addView(mFooterLoadingView, lp); + + /** + * If the value for Scrolling While Refreshing hasn't been + * explicitly set via XML, enable Scrolling While Refreshing. + */ + if (!a.hasValue(R.styleable.PullToRefresh_ptrScrollingWhileRefreshingEnabled)) { + setScrollingWhileRefreshingEnabled(true); + } + } + } + + @TargetApi(9) + final class InternalListViewSDK9 extends InternalListView { + + public InternalListViewSDK9(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, + int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) { + + final boolean returnValue = super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, + scrollRangeY, maxOverScrollX, maxOverScrollY, isTouchEvent); + + // Does all of the hard work... + OverscrollHelper.overScrollBy(PullToRefreshListView.this, deltaX, scrollX, deltaY, scrollY, isTouchEvent); + + return returnValue; + } + } + + protected class InternalListView extends ListView implements EmptyViewMethodAccessor { + + private boolean mAddedLvFooter = false; + + public InternalListView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + protected void dispatchDraw(Canvas canvas) { + /** + * This is a bit hacky, but Samsung's ListView has got a bug in it + * when using Header/Footer Views and the list is empty. This masks + * the issue so that it doesn't cause an FC. See Issue #66. + */ + try { + super.dispatchDraw(canvas); + } catch (IndexOutOfBoundsException e) { + e.printStackTrace(); + } + } + + @Override + public boolean dispatchTouchEvent(MotionEvent ev) { + /** + * This is a bit hacky, but Samsung's ListView has got a bug in it + * when using Header/Footer Views and the list is empty. This masks + * the issue so that it doesn't cause an FC. See Issue #66. + */ + try { + return super.dispatchTouchEvent(ev); + } catch (IndexOutOfBoundsException e) { + e.printStackTrace(); + return false; + } + } + + @Override + public void setAdapter(ListAdapter adapter) { + // Add the Footer View at the last possible moment + if (null != mLvFooterLoadingFrame && !mAddedLvFooter) { + addFooterView(mLvFooterLoadingFrame, null, false); + mAddedLvFooter = true; + } + + super.setAdapter(adapter); + } + + @Override + public void setEmptyView(View emptyView) { + PullToRefreshListView.this.setEmptyView(emptyView); + } + + @Override + public void setEmptyViewInternal(View emptyView) { + super.setEmptyView(emptyView); + } + + } + +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshScrollView.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshScrollView.java new file mode 100644 index 0000000..3ae3627 --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshScrollView.java @@ -0,0 +1,109 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library; + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build.VERSION; +import android.os.Build.VERSION_CODES; +import android.util.AttributeSet; +import android.view.View; +import android.widget.ScrollView; + +public class PullToRefreshScrollView extends PullToRefreshBase { + + public PullToRefreshScrollView(Context context) { + super(context); + } + + public PullToRefreshScrollView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public PullToRefreshScrollView(Context context, Mode mode) { + super(context, mode); + } + + public PullToRefreshScrollView(Context context, Mode mode, AnimationStyle style) { + super(context, mode, style); + } + + @Override + public final Orientation getPullToRefreshScrollDirection() { + return Orientation.VERTICAL; + } + + @Override + protected ScrollView createRefreshableView(Context context, AttributeSet attrs) { + ScrollView scrollView; + if (VERSION.SDK_INT >= VERSION_CODES.GINGERBREAD) { + scrollView = new InternalScrollViewSDK9(context, attrs); + } else { + scrollView = new ScrollView(context, attrs); + } + + scrollView.setId(R.id.scrollview); + return scrollView; + } + + @Override + protected boolean isReadyForPullStart() { + return mRefreshableView.getScrollY() == 0; + } + + @Override + protected boolean isReadyForPullEnd() { + View scrollViewChild = mRefreshableView.getChildAt(0); + if (null != scrollViewChild) { + return mRefreshableView.getScrollY() >= (scrollViewChild.getHeight() - getHeight()); + } + return false; + } + + @TargetApi(9) + final class InternalScrollViewSDK9 extends ScrollView { + + public InternalScrollViewSDK9(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, + int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) { + + final boolean returnValue = super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, + scrollRangeY, maxOverScrollX, maxOverScrollY, isTouchEvent); + + // Does all of the hard work... + OverscrollHelper.overScrollBy(PullToRefreshScrollView.this, deltaX, scrollX, deltaY, scrollY, + getScrollRange(), isTouchEvent); + + return returnValue; + } + + /** + * Taken from the AOSP ScrollView source + */ + private int getScrollRange() { + int scrollRange = 0; + if (getChildCount() > 0) { + View child = getChildAt(0); + scrollRange = Math.max(0, child.getHeight() - (getHeight() - getPaddingBottom() - getPaddingTop())); + } + return scrollRange; + } + } +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshWebView.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshWebView.java new file mode 100644 index 0000000..5514110 --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/PullToRefreshWebView.java @@ -0,0 +1,165 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library; + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build.VERSION; +import android.os.Build.VERSION_CODES; +import android.os.Bundle; +import android.util.AttributeSet; +import android.util.FloatMath; +import android.webkit.WebChromeClient; +import android.webkit.WebView; + +public class PullToRefreshWebView extends PullToRefreshBase { + + private static final OnRefreshListener defaultOnRefreshListener = new OnRefreshListener() { + + @Override + public void onRefresh(PullToRefreshBase refreshView) { + refreshView.getRefreshableView().reload(); + } + + }; + + private final WebChromeClient defaultWebChromeClient = new WebChromeClient() { + + @Override + public void onProgressChanged(WebView view, int newProgress) { + if (newProgress == 100) { + onRefreshComplete(); + } + } + + }; + + public PullToRefreshWebView(Context context) { + super(context); + + /** + * Added so that by default, Pull-to-Refresh refreshes the page + */ + setOnRefreshListener(defaultOnRefreshListener); + mRefreshableView.setWebChromeClient(defaultWebChromeClient); + } + + public PullToRefreshWebView(Context context, AttributeSet attrs) { + super(context, attrs); + + /** + * Added so that by default, Pull-to-Refresh refreshes the page + */ + setOnRefreshListener(defaultOnRefreshListener); + mRefreshableView.setWebChromeClient(defaultWebChromeClient); + } + + public PullToRefreshWebView(Context context, Mode mode) { + super(context, mode); + + /** + * Added so that by default, Pull-to-Refresh refreshes the page + */ + setOnRefreshListener(defaultOnRefreshListener); + mRefreshableView.setWebChromeClient(defaultWebChromeClient); + } + + public PullToRefreshWebView(Context context, Mode mode, AnimationStyle style) { + super(context, mode, style); + + /** + * Added so that by default, Pull-to-Refresh refreshes the page + */ + setOnRefreshListener(defaultOnRefreshListener); + mRefreshableView.setWebChromeClient(defaultWebChromeClient); + } + + @Override + public final Orientation getPullToRefreshScrollDirection() { + return Orientation.VERTICAL; + } + + @Override + protected WebView createRefreshableView(Context context, AttributeSet attrs) { + WebView webView; + if (VERSION.SDK_INT >= VERSION_CODES.GINGERBREAD) { + webView = new InternalWebViewSDK9(context, attrs); + } else { + webView = new WebView(context, attrs); + } + + webView.setId(R.id.webview); + return webView; + } + + @Override + protected boolean isReadyForPullStart() { + return mRefreshableView.getScrollY() == 0; + } + + @Override + protected boolean isReadyForPullEnd() { + float exactContentHeight = (float) Math.floor(mRefreshableView.getContentHeight() * mRefreshableView.getScale()); + return mRefreshableView.getScrollY() >= (exactContentHeight - mRefreshableView.getHeight()); + } + + @Override + protected void onPtrRestoreInstanceState(Bundle savedInstanceState) { + super.onPtrRestoreInstanceState(savedInstanceState); + mRefreshableView.restoreState(savedInstanceState); + } + + @Override + protected void onPtrSaveInstanceState(Bundle saveState) { + super.onPtrSaveInstanceState(saveState); + mRefreshableView.saveState(saveState); + } + + @TargetApi(9) + final class InternalWebViewSDK9 extends WebView { + + // WebView doesn't always scroll back to it's edge so we add some + // fuzziness + static final int OVERSCROLL_FUZZY_THRESHOLD = 2; + + // WebView seems quite reluctant to overscroll so we use the scale + // factor to scale it's value + static final float OVERSCROLL_SCALE_FACTOR = 1.5f; + + public InternalWebViewSDK9(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, + int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) { + + final boolean returnValue = super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, + scrollRangeY, maxOverScrollX, maxOverScrollY, isTouchEvent); + + // Does all of the hard work... + OverscrollHelper.overScrollBy(PullToRefreshWebView.this, deltaX, scrollX, deltaY, scrollY, + getScrollRange(), OVERSCROLL_FUZZY_THRESHOLD, OVERSCROLL_SCALE_FACTOR, isTouchEvent); + + return returnValue; + } + + private int getScrollRange() { + return (int) Math.max(0, Math.floor(mRefreshableView.getContentHeight() * mRefreshableView.getScale()) + - (getHeight() - getPaddingBottom() - getPaddingTop())); + } + } +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.java new file mode 100644 index 0000000..7819203 --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.java @@ -0,0 +1,132 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library.extras; + +import java.util.concurrent.atomic.AtomicBoolean; + +import android.content.Context; +import android.util.AttributeSet; +import android.webkit.WebView; + +import com.handmark.pulltorefresh.library.PullToRefreshWebView; + +/** + * An advanced version of {@link PullToRefreshWebView} which delegates the + * triggering of the PullToRefresh gesture to the Javascript running within the + * WebView. This means that you should only use this class if: + *

+ *

    + *
  • {@link PullToRefreshWebView} doesn't work correctly because you're using + * overflow:scroll or something else which means + * {@link WebView#getScrollY()} doesn't return correct values.
  • + *
  • You control the web content being displayed, as you need to write some + * Javascript callbacks.
  • + *
+ *

+ *

+ * The way this call works is that when a PullToRefresh gesture is in action, + * the following Javascript methods will be called: + * isReadyForPullDown() and isReadyForPullUp(), it is + * your job to calculate whether the view is in a state where a PullToRefresh + * can happen, and return the result via the callback mechanism. An example can + * be seen below: + *

+ * + *

+ * function isReadyForPullDown() {
+ *   var result = ...  // Probably using the .scrollTop DOM attribute
+ *   ptr.isReadyForPullDownResponse(result);
+ * }
+ * 
+ * function isReadyForPullUp() {
+ *   var result = ...  // Probably using the .scrollBottom DOM attribute
+ *   ptr.isReadyForPullUpResponse(result);
+ * }
+ * 
+ * + * @author Chris Banes + */ +public class PullToRefreshWebView2 extends PullToRefreshWebView { + + static final String JS_INTERFACE_PKG = "ptr"; + static final String DEF_JS_READY_PULL_DOWN_CALL = "javascript:isReadyForPullDown();"; + static final String DEF_JS_READY_PULL_UP_CALL = "javascript:isReadyForPullUp();"; + + public PullToRefreshWebView2(Context context) { + super(context); + } + + public PullToRefreshWebView2(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public PullToRefreshWebView2(Context context, Mode mode) { + super(context, mode); + } + + private JsValueCallback mJsCallback; + private final AtomicBoolean mIsReadyForPullDown = new AtomicBoolean(false); + private final AtomicBoolean mIsReadyForPullUp = new AtomicBoolean(false); + + @Override + protected WebView createRefreshableView(Context context, AttributeSet attrs) { + WebView webView = super.createRefreshableView(context, attrs); + + // Need to add JS Interface so we can get the response back + mJsCallback = new JsValueCallback(); + webView.addJavascriptInterface(mJsCallback, JS_INTERFACE_PKG); + + return webView; + } + + @Override + protected boolean isReadyForPullStart() { + // Call Javascript... + getRefreshableView().loadUrl(DEF_JS_READY_PULL_DOWN_CALL); + + // Response will be given to JsValueCallback, which will update + // mIsReadyForPullDown + + return mIsReadyForPullDown.get(); + } + + @Override + protected boolean isReadyForPullEnd() { + // Call Javascript... + getRefreshableView().loadUrl(DEF_JS_READY_PULL_UP_CALL); + + // Response will be given to JsValueCallback, which will update + // mIsReadyForPullUp + + return mIsReadyForPullUp.get(); + } + + /** + * Used for response from Javascript + * + * @author Chris Banes + */ + final class JsValueCallback { + + public void isReadyForPullUpResponse(boolean response) { + mIsReadyForPullUp.set(response); + } + + public void isReadyForPullDownResponse(boolean response) { + mIsReadyForPullDown.set(response); + } + } +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.java new file mode 100644 index 0000000..a7aac30 --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.java @@ -0,0 +1,96 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library.extras; + +import java.util.HashMap; + +import android.content.Context; +import android.media.MediaPlayer; +import android.view.View; + +import com.handmark.pulltorefresh.library.PullToRefreshBase; +import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode; +import com.handmark.pulltorefresh.library.PullToRefreshBase.State; + +public class SoundPullEventListener implements PullToRefreshBase.OnPullEventListener { + + private final Context mContext; + private final HashMap mSoundMap; + + private MediaPlayer mCurrentMediaPlayer; + + /** + * Constructor + * + * @param context - Context + */ + public SoundPullEventListener(Context context) { + mContext = context; + mSoundMap = new HashMap(); + } + + @Override + public final void onPullEvent(PullToRefreshBase refreshView, State event, Mode direction) { + Integer soundResIdObj = mSoundMap.get(event); + if (null != soundResIdObj) { + playSound(soundResIdObj.intValue()); + } + } + + /** + * Set the Sounds to be played when a Pull Event happens. You specify which + * sound plays for which events by calling this method multiple times for + * each event. + *

+ * If you've already set a sound for a certain event, and add another sound + * for that event, only the new sound will be played. + * + * @param event - The event for which the sound will be played. + * @param resId - Resource Id of the sound file to be played (e.g. + * R.raw.pull_sound) + */ + public void addSoundEvent(State event, int resId) { + mSoundMap.put(event, resId); + } + + /** + * Clears all of the previously set sounds and events. + */ + public void clearSounds() { + mSoundMap.clear(); + } + + /** + * Gets the current (or last) MediaPlayer instance. + */ + public MediaPlayer getCurrentMediaPlayer() { + return mCurrentMediaPlayer; + } + + private void playSound(int resId) { + // Stop current player, if there's one playing + if (null != mCurrentMediaPlayer) { + mCurrentMediaPlayer.stop(); + mCurrentMediaPlayer.release(); + } + + mCurrentMediaPlayer = MediaPlayer.create(mContext, resId); + if (null != mCurrentMediaPlayer) { + mCurrentMediaPlayer.start(); + } + } + +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.java new file mode 100644 index 0000000..369f21e --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.java @@ -0,0 +1,43 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library.internal; + +import android.view.View; + +/** + * Interface that allows PullToRefreshBase to hijack the call to + * AdapterView.setEmptyView() + * + * @author chris + */ +public interface EmptyViewMethodAccessor { + + /** + * Calls upto AdapterView.setEmptyView() + * + * @param emptyView - to set as Empty View + */ + public void setEmptyViewInternal(View emptyView); + + /** + * Should call PullToRefreshBase.setEmptyView() which will then + * automatically call through to setEmptyViewInternal() + * + * @param emptyView - to set as Empty View + */ + public void setEmptyView(View emptyView); + +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.java new file mode 100644 index 0000000..3c16772 --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.java @@ -0,0 +1,146 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library.internal; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Matrix; +import android.graphics.drawable.Drawable; +import android.view.View; +import android.view.ViewGroup; +import android.view.animation.Animation; +import android.view.animation.RotateAnimation; +import android.widget.ImageView.ScaleType; + +import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode; +import com.handmark.pulltorefresh.library.PullToRefreshBase.Orientation; +import com.handmark.pulltorefresh.library.R; + +@SuppressLint("ViewConstructor") +public class FlipLoadingLayout extends LoadingLayout { + + static final int FLIP_ANIMATION_DURATION = 150; + + private final Animation mRotateAnimation, mResetRotateAnimation; + + public FlipLoadingLayout(Context context, final Mode mode, final Orientation scrollDirection, TypedArray attrs) { + super(context, mode, scrollDirection, attrs); + + final int rotateAngle = mode == Mode.PULL_FROM_START ? -180 : 180; + + mRotateAnimation = new RotateAnimation(0, rotateAngle, Animation.RELATIVE_TO_SELF, 0.5f, + Animation.RELATIVE_TO_SELF, 0.5f); + mRotateAnimation.setInterpolator(ANIMATION_INTERPOLATOR); + mRotateAnimation.setDuration(FLIP_ANIMATION_DURATION); + mRotateAnimation.setFillAfter(true); + + mResetRotateAnimation = new RotateAnimation(rotateAngle, 0, Animation.RELATIVE_TO_SELF, 0.5f, + Animation.RELATIVE_TO_SELF, 0.5f); + mResetRotateAnimation.setInterpolator(ANIMATION_INTERPOLATOR); + mResetRotateAnimation.setDuration(FLIP_ANIMATION_DURATION); + mResetRotateAnimation.setFillAfter(true); + } + + @Override + protected void onLoadingDrawableSet(Drawable imageDrawable) { + if (null != imageDrawable) { + final int dHeight = imageDrawable.getIntrinsicHeight(); + final int dWidth = imageDrawable.getIntrinsicWidth(); + + /** + * We need to set the width/height of the ImageView so that it is + * square with each side the size of the largest drawable dimension. + * This is so that it doesn't clip when rotated. + */ + ViewGroup.LayoutParams lp = mHeaderImage.getLayoutParams(); + lp.width = lp.height = Math.max(dHeight, dWidth); + mHeaderImage.requestLayout(); + + /** + * We now rotate the Drawable so that is at the correct rotation, + * and is centered. + */ + mHeaderImage.setScaleType(ScaleType.MATRIX); + Matrix matrix = new Matrix(); + matrix.postTranslate((lp.width - dWidth) / 2f, (lp.height - dHeight) / 2f); + matrix.postRotate(getDrawableRotationAngle(), lp.width / 2f, lp.height / 2f); + mHeaderImage.setImageMatrix(matrix); + } + } + + @Override + protected void onPullImpl(float scaleOfLayout) { + // NO-OP + } + + @Override + protected void pullToRefreshImpl() { + // Only start reset Animation, we've previously show the rotate anim + if (mRotateAnimation == mHeaderImage.getAnimation()) { + mHeaderImage.startAnimation(mResetRotateAnimation); + } + } + + @Override + protected void refreshingImpl() { + mHeaderImage.clearAnimation(); + mHeaderImage.setVisibility(View.INVISIBLE); + // mHeaderProgress.setVisibility(View.VISIBLE); + } + + @Override + protected void releaseToRefreshImpl() { + mHeaderImage.startAnimation(mRotateAnimation); + } + + @Override + protected void resetImpl() { + mHeaderImage.clearAnimation(); + // mHeaderProgress.setVisibility(View.GONE); + mHeaderImage.setVisibility(View.VISIBLE); + } + + @Override + protected int getDefaultDrawableResId() { + return R.drawable.indicator_arrow; + } + + private float getDrawableRotationAngle() { + float angle = 0f; + switch (mMode) { + case PULL_FROM_END: + if (mScrollDirection == Orientation.HORIZONTAL) { + angle = 90f; + } else { + angle = 180f; + } + break; + + case PULL_FROM_START: + if (mScrollDirection == Orientation.HORIZONTAL) { + angle = 270f; + } + break; + + default: + break; + } + + return angle; + } + +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/IndicatorLayout.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/IndicatorLayout.java new file mode 100644 index 0000000..a9069f2 --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/IndicatorLayout.java @@ -0,0 +1,147 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library.internal; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.graphics.Matrix; +import android.graphics.drawable.Drawable; +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.Animation.AnimationListener; +import android.view.animation.AnimationUtils; +import android.view.animation.Interpolator; +import android.view.animation.LinearInterpolator; +import android.view.animation.RotateAnimation; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.ImageView.ScaleType; + +import com.handmark.pulltorefresh.library.PullToRefreshBase; +import com.handmark.pulltorefresh.library.R; + +@SuppressLint("ViewConstructor") +public class IndicatorLayout extends FrameLayout implements AnimationListener { + + static final int DEFAULT_ROTATION_ANIMATION_DURATION = 150; + + private Animation mInAnim, mOutAnim; + private ImageView mArrowImageView; + + private final Animation mRotateAnimation, mResetRotateAnimation; + + public IndicatorLayout(Context context, PullToRefreshBase.Mode mode) { + super(context); + mArrowImageView = new ImageView(context); + + Drawable arrowD = getResources().getDrawable(R.drawable.indicator_arrow); + mArrowImageView.setImageDrawable(arrowD); + + final int padding = getResources().getDimensionPixelSize(R.dimen.indicator_internal_padding); + mArrowImageView.setPadding(padding, padding, padding, padding); + addView(mArrowImageView); + + int inAnimResId, outAnimResId; + switch (mode) { + case PULL_FROM_END: + inAnimResId = R.anim.slide_in_from_bottom; + outAnimResId = R.anim.slide_out_to_bottom; + setBackgroundResource(R.drawable.indicator_bg_bottom); + + // Rotate Arrow so it's pointing the correct way + mArrowImageView.setScaleType(ScaleType.MATRIX); + Matrix matrix = new Matrix(); + matrix.setRotate(180f, arrowD.getIntrinsicWidth() / 2f, arrowD.getIntrinsicHeight() / 2f); + mArrowImageView.setImageMatrix(matrix); + break; + default: + case PULL_FROM_START: + inAnimResId = R.anim.slide_in_from_top; + outAnimResId = R.anim.slide_out_to_top; + setBackgroundResource(R.drawable.indicator_bg_top); + break; + } + + mInAnim = AnimationUtils.loadAnimation(context, inAnimResId); + mInAnim.setAnimationListener(this); + + mOutAnim = AnimationUtils.loadAnimation(context, outAnimResId); + mOutAnim.setAnimationListener(this); + + final Interpolator interpolator = new LinearInterpolator(); + mRotateAnimation = new RotateAnimation(0, -180, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, + 0.5f); + mRotateAnimation.setInterpolator(interpolator); + mRotateAnimation.setDuration(DEFAULT_ROTATION_ANIMATION_DURATION); + mRotateAnimation.setFillAfter(true); + + mResetRotateAnimation = new RotateAnimation(-180, 0, Animation.RELATIVE_TO_SELF, 0.5f, + Animation.RELATIVE_TO_SELF, 0.5f); + mResetRotateAnimation.setInterpolator(interpolator); + mResetRotateAnimation.setDuration(DEFAULT_ROTATION_ANIMATION_DURATION); + mResetRotateAnimation.setFillAfter(true); + + } + + public final boolean isVisible() { + Animation currentAnim = getAnimation(); + if (null != currentAnim) { + return mInAnim == currentAnim; + } + + return getVisibility() == View.VISIBLE; + } + + public void hide() { + startAnimation(mOutAnim); + } + + public void show() { + mArrowImageView.clearAnimation(); + startAnimation(mInAnim); + } + + @Override + public void onAnimationEnd(Animation animation) { + if (animation == mOutAnim) { + mArrowImageView.clearAnimation(); + setVisibility(View.GONE); + } else if (animation == mInAnim) { + setVisibility(View.VISIBLE); + } + + clearAnimation(); + } + + @Override + public void onAnimationRepeat(Animation animation) { + // NO-OP + } + + @Override + public void onAnimationStart(Animation animation) { + setVisibility(View.VISIBLE); + } + + public void releaseToRefresh() { + mArrowImageView.startAnimation(mRotateAnimation); + } + + public void pullToRefresh() { + mArrowImageView.startAnimation(mResetRotateAnimation); + } + +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/LoadingLayout.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/LoadingLayout.java new file mode 100644 index 0000000..b0e4e7e --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/LoadingLayout.java @@ -0,0 +1,393 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library.internal; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.res.ColorStateList; +import android.content.res.TypedArray; +import android.graphics.Typeface; +import android.graphics.drawable.AnimationDrawable; +import android.graphics.drawable.Drawable; +import android.text.TextUtils; +import android.util.TypedValue; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.animation.Interpolator; +import android.view.animation.LinearInterpolator; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.TextView; + +import com.handmark.pulltorefresh.library.ILoadingLayout; +import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode; +import com.handmark.pulltorefresh.library.PullToRefreshBase.Orientation; +import com.handmark.pulltorefresh.library.R; + +@SuppressLint("ViewConstructor") +public abstract class LoadingLayout extends FrameLayout implements ILoadingLayout { + + static final String LOG_TAG = "PullToRefresh-LoadingLayout"; + + static final Interpolator ANIMATION_INTERPOLATOR = new LinearInterpolator(); + + private FrameLayout mInnerLayout; + + protected final ImageView mHeaderImage; + //protected final ProgressBar mHeaderProgress; + + private boolean mUseIntrinsicAnimation; + + private final TextView mHeaderText; + private final TextView mSubHeaderText; + + protected final Mode mMode; + protected final Orientation mScrollDirection; + + private CharSequence mPullLabel; + private CharSequence mRefreshingLabel; + private CharSequence mReleaseLabel; + + public LoadingLayout(Context context, final Mode mode, final Orientation scrollDirection, TypedArray attrs) { + super(context); + mMode = mode; + mScrollDirection = scrollDirection; + + switch (scrollDirection) { + case HORIZONTAL: + LayoutInflater.from(context).inflate(R.layout.pull_to_refresh_header_horizontal, this); + break; + case VERTICAL: + default: + LayoutInflater.from(context).inflate(R.layout.pull_to_refresh_header_vertical, this); + break; + } + + mInnerLayout = (FrameLayout) findViewById(R.id.fl_inner); + mHeaderText = (TextView) mInnerLayout.findViewById(R.id.pull_to_refresh_text); + //mHeaderProgress = (ProgressBar) mInnerLayout.findViewById(R.id.pull_to_refresh_progress); + mSubHeaderText = (TextView) mInnerLayout.findViewById(R.id.pull_to_refresh_sub_text); + mHeaderImage = (ImageView) mInnerLayout.findViewById(R.id.pull_to_refresh_image); + + FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) mInnerLayout.getLayoutParams(); + + switch (mode) { + case PULL_FROM_END: + lp.gravity = scrollDirection == Orientation.VERTICAL ? Gravity.TOP : Gravity.LEFT; + + // Load in labels + mPullLabel = context.getString(R.string.pull_to_refresh_from_bottom_pull_label); + mRefreshingLabel = context.getString(R.string.pull_to_refresh_from_bottom_refreshing_label); + mReleaseLabel = context.getString(R.string.pull_to_refresh_from_bottom_release_label); + break; + + case PULL_FROM_START: + default: + lp.gravity = scrollDirection == Orientation.VERTICAL ? Gravity.BOTTOM : Gravity.RIGHT; + + // Load in labels + mPullLabel = context.getString(R.string.pull_to_refresh_pull_label); + mRefreshingLabel = context.getString(R.string.pull_to_refresh_refreshing_label); + mReleaseLabel = context.getString(R.string.pull_to_refresh_release_label); + break; + } + + if (attrs.hasValue(R.styleable.PullToRefresh_ptrHeaderBackground)) { + Drawable background = attrs.getDrawable(R.styleable.PullToRefresh_ptrHeaderBackground); + if (null != background) { + ViewCompat.setBackground(this, background); + } + } + + if (attrs.hasValue(R.styleable.PullToRefresh_ptrHeaderTextAppearance)) { + TypedValue styleID = new TypedValue(); + attrs.getValue(R.styleable.PullToRefresh_ptrHeaderTextAppearance, styleID); + setTextAppearance(styleID.data); + } + if (attrs.hasValue(R.styleable.PullToRefresh_ptrSubHeaderTextAppearance)) { + TypedValue styleID = new TypedValue(); + attrs.getValue(R.styleable.PullToRefresh_ptrSubHeaderTextAppearance, styleID); + setSubTextAppearance(styleID.data); + } + + // Text Color attrs need to be set after TextAppearance attrs + if (attrs.hasValue(R.styleable.PullToRefresh_ptrHeaderTextColor)) { + ColorStateList colors = attrs.getColorStateList(R.styleable.PullToRefresh_ptrHeaderTextColor); + if (null != colors) { + setTextColor(colors); + } + } + if (attrs.hasValue(R.styleable.PullToRefresh_ptrHeaderSubTextColor)) { + ColorStateList colors = attrs.getColorStateList(R.styleable.PullToRefresh_ptrHeaderSubTextColor); + if (null != colors) { + setSubTextColor(colors); + } + } + + // Try and get defined drawable from Attrs + Drawable imageDrawable = null; + if (attrs.hasValue(R.styleable.PullToRefresh_ptrDrawable)) { + imageDrawable = attrs.getDrawable(R.styleable.PullToRefresh_ptrDrawable); + } + + // Check Specific Drawable from Attrs, these overrite the generic + // drawable attr above + switch (mode) { + case PULL_FROM_START: + default: + if (attrs.hasValue(R.styleable.PullToRefresh_ptrDrawableStart)) { + imageDrawable = attrs.getDrawable(R.styleable.PullToRefresh_ptrDrawableStart); + } else if (attrs.hasValue(R.styleable.PullToRefresh_ptrDrawableTop)) { + Utils.warnDeprecation("ptrDrawableTop", "ptrDrawableStart"); + imageDrawable = attrs.getDrawable(R.styleable.PullToRefresh_ptrDrawableTop); + } + break; + + case PULL_FROM_END: + if (attrs.hasValue(R.styleable.PullToRefresh_ptrDrawableEnd)) { + imageDrawable = attrs.getDrawable(R.styleable.PullToRefresh_ptrDrawableEnd); + } else if (attrs.hasValue(R.styleable.PullToRefresh_ptrDrawableBottom)) { + Utils.warnDeprecation("ptrDrawableBottom", "ptrDrawableEnd"); + imageDrawable = attrs.getDrawable(R.styleable.PullToRefresh_ptrDrawableBottom); + } + break; + } + + // If we don't have a user defined drawable, load the default + if (null == imageDrawable) { + imageDrawable = context.getResources().getDrawable(getDefaultDrawableResId()); + } + + // Set Drawable, and save width/height + setLoadingDrawable(imageDrawable); + + reset(); + } + + public final void setHeight(int height) { + ViewGroup.LayoutParams lp = (ViewGroup.LayoutParams) getLayoutParams(); + lp.height = height; + requestLayout(); + } + + public final void setWidth(int width) { + ViewGroup.LayoutParams lp = (ViewGroup.LayoutParams) getLayoutParams(); + lp.width = width; + requestLayout(); + } + + public final int getContentSize() { + switch (mScrollDirection) { + case HORIZONTAL: + return mInnerLayout.getWidth(); + case VERTICAL: + default: + return mInnerLayout.getHeight(); + } + } + + public final void hideAllViews() { + if (View.VISIBLE == mHeaderText.getVisibility()) { + mHeaderText.setVisibility(View.INVISIBLE); + } + /*if (View.VISIBLE == mHeaderProgress.getVisibility()) { + mHeaderProgress.setVisibility(View.INVISIBLE); + }*/ + if (View.VISIBLE == mHeaderImage.getVisibility()) { + mHeaderImage.setVisibility(View.INVISIBLE); + } + if (View.VISIBLE == mSubHeaderText.getVisibility()) { + mSubHeaderText.setVisibility(View.INVISIBLE); + } + } + + public final void onPull(float scaleOfLayout) { + if (!mUseIntrinsicAnimation) { + onPullImpl(scaleOfLayout); + } + } + + public final void pullToRefresh() { + if (null != mHeaderText) { + mHeaderText.setText(mPullLabel); + } + + // Now call the callback + pullToRefreshImpl(); + } + + public final void refreshing() { + if (null != mHeaderText) { + mHeaderText.setText(mRefreshingLabel); + } + + if (mUseIntrinsicAnimation) { + ((AnimationDrawable) mHeaderImage.getDrawable()).start(); + } else { + // Now call the callback + refreshingImpl(); + } + + if (null != mSubHeaderText) { + mSubHeaderText.setVisibility(View.GONE); + } + } + + public final void releaseToRefresh() { + if (null != mHeaderText) { + mHeaderText.setText(mReleaseLabel); + } + + // Now call the callback + releaseToRefreshImpl(); + } + + public final void reset() { + if (null != mHeaderText) { + mHeaderText.setText(mPullLabel); + } + mHeaderImage.setVisibility(View.VISIBLE); + + if (mUseIntrinsicAnimation) { + ((AnimationDrawable) mHeaderImage.getDrawable()).stop(); + } else { + // Now call the callback + resetImpl(); + } + + if (null != mSubHeaderText) { + if (TextUtils.isEmpty(mSubHeaderText.getText())) { + mSubHeaderText.setVisibility(View.GONE); + } else { + mSubHeaderText.setVisibility(View.VISIBLE); + } + } + } + + @Override + public void setLastUpdatedLabel(CharSequence label) { + setSubHeaderText(label); + } + + public final void setLoadingDrawable(Drawable imageDrawable) { + // Set Drawable + mHeaderImage.setImageDrawable(imageDrawable); + mUseIntrinsicAnimation = (imageDrawable instanceof AnimationDrawable); + + // Now call the callback + onLoadingDrawableSet(imageDrawable); + } + + public void setPullLabel(CharSequence pullLabel) { + mPullLabel = pullLabel; + } + + public void setRefreshingLabel(CharSequence refreshingLabel) { + mRefreshingLabel = refreshingLabel; + } + + public void setReleaseLabel(CharSequence releaseLabel) { + mReleaseLabel = releaseLabel; + } + + @Override + public void setTextTypeface(Typeface tf) { + mHeaderText.setTypeface(tf); + } + + public final void showInvisibleViews() { + if (View.INVISIBLE == mHeaderText.getVisibility()) { + mHeaderText.setVisibility(View.VISIBLE); + } + /* if (View.INVISIBLE == mHeaderProgress.getVisibility()) { + mHeaderProgress.setVisibility(View.VISIBLE); + }*/ + if (View.INVISIBLE == mHeaderImage.getVisibility()) { + mHeaderImage.setVisibility(View.VISIBLE); + } + if (View.INVISIBLE == mSubHeaderText.getVisibility()) { + mSubHeaderText.setVisibility(View.VISIBLE); + } + } + + /** + * Callbacks for derivative Layouts + */ + + protected abstract int getDefaultDrawableResId(); + + protected abstract void onLoadingDrawableSet(Drawable imageDrawable); + + protected abstract void onPullImpl(float scaleOfLayout); + + protected abstract void pullToRefreshImpl(); + + protected abstract void refreshingImpl(); + + protected abstract void releaseToRefreshImpl(); + + protected abstract void resetImpl(); + + private void setSubHeaderText(CharSequence label) { + if (null != mSubHeaderText) { + if (TextUtils.isEmpty(label)) { + mSubHeaderText.setVisibility(View.GONE); + } else { + mSubHeaderText.setText(label); + + // Only set it to Visible if we're GONE, otherwise VISIBLE will + // be set soon + if (View.GONE == mSubHeaderText.getVisibility()) { + mSubHeaderText.setVisibility(View.VISIBLE); + } + } + } + } + + private void setSubTextAppearance(int value) { + if (null != mSubHeaderText) { + mSubHeaderText.setTextAppearance(getContext(), value); + } + } + + private void setSubTextColor(ColorStateList color) { + if (null != mSubHeaderText) { + mSubHeaderText.setTextColor(color); + } + } + + private void setTextAppearance(int value) { + if (null != mHeaderText) { + mHeaderText.setTextAppearance(getContext(), value); + } + if (null != mSubHeaderText) { + mSubHeaderText.setTextAppearance(getContext(), value); + } + } + + private void setTextColor(ColorStateList color) { + if (null != mHeaderText) { + mHeaderText.setTextColor(color); + } + if (null != mSubHeaderText) { + mSubHeaderText.setTextColor(color); + } + } + +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.java new file mode 100644 index 0000000..bda7b2f --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.java @@ -0,0 +1,110 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library.internal; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Matrix; +import android.graphics.drawable.Drawable; +import android.view.animation.Animation; +import android.view.animation.RotateAnimation; +import android.widget.ImageView.ScaleType; + +import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode; +import com.handmark.pulltorefresh.library.PullToRefreshBase.Orientation; +import com.handmark.pulltorefresh.library.R; + +public class RotateLoadingLayout extends LoadingLayout { + + static final int ROTATION_ANIMATION_DURATION = 1200; + + private final Animation mRotateAnimation; + private final Matrix mHeaderImageMatrix; + + private float mRotationPivotX, mRotationPivotY; + + private final boolean mRotateDrawableWhilePulling; + + public RotateLoadingLayout(Context context, Mode mode, Orientation scrollDirection, TypedArray attrs) { + super(context, mode, scrollDirection, attrs); + + mRotateDrawableWhilePulling = attrs.getBoolean(R.styleable.PullToRefresh_ptrRotateDrawableWhilePulling, true); + + mHeaderImage.setScaleType(ScaleType.MATRIX); + mHeaderImageMatrix = new Matrix(); + mHeaderImage.setImageMatrix(mHeaderImageMatrix); + + mRotateAnimation = new RotateAnimation(0, 720, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, + 0.5f); + mRotateAnimation.setInterpolator(ANIMATION_INTERPOLATOR); + mRotateAnimation.setDuration(ROTATION_ANIMATION_DURATION); + mRotateAnimation.setRepeatCount(Animation.INFINITE); + mRotateAnimation.setRepeatMode(Animation.RESTART); + } + + public void onLoadingDrawableSet(Drawable imageDrawable) { + if (null != imageDrawable) { + mRotationPivotX = Math.round(imageDrawable.getIntrinsicWidth() / 2f); + mRotationPivotY = Math.round(imageDrawable.getIntrinsicHeight() / 2f); + } + } + + protected void onPullImpl(float scaleOfLayout) { + float angle; + if (mRotateDrawableWhilePulling) { + angle = scaleOfLayout * 90f; + } else { + angle = Math.max(0f, Math.min(180f, scaleOfLayout * 360f - 180f)); + } + + mHeaderImageMatrix.setRotate(angle, mRotationPivotX, mRotationPivotY); + mHeaderImage.setImageMatrix(mHeaderImageMatrix); + } + + @Override + protected void refreshingImpl() { + mHeaderImage.startAnimation(mRotateAnimation); + } + + @Override + protected void resetImpl() { + mHeaderImage.clearAnimation(); + resetImageRotation(); + } + + private void resetImageRotation() { + if (null != mHeaderImageMatrix) { + mHeaderImageMatrix.reset(); + mHeaderImage.setImageMatrix(mHeaderImageMatrix); + } + } + + @Override + protected void pullToRefreshImpl() { + // NO-OP + } + + @Override + protected void releaseToRefreshImpl() { + // NO-OP + } + + @Override + protected int getDefaultDrawableResId() { + return R.drawable.default_ptr_rotate; + } + +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/TweenAnimLoadingLayout.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/TweenAnimLoadingLayout.java new file mode 100644 index 0000000..2eda727 --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/TweenAnimLoadingLayout.java @@ -0,0 +1,63 @@ +package com.handmark.pulltorefresh.library.internal; + +import com.handmark.pulltorefresh.library.R; +import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode; +import com.handmark.pulltorefresh.library.PullToRefreshBase.Orientation; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.drawable.AnimationDrawable; +import android.graphics.drawable.Drawable; +import android.view.View; + +/** + * Created by gaopeng on 2016/7/18. + */ +public class TweenAnimLoadingLayout extends LoadingLayout { + private AnimationDrawable animationDrawable; + + public TweenAnimLoadingLayout(Context context, Mode mode, + Orientation scrollDirection, TypedArray attrs) { + super(context, mode, scrollDirection, attrs); + // 初始化 + mHeaderImage.setImageResource(R.drawable.refresh_anim); + animationDrawable = (AnimationDrawable) mHeaderImage.getDrawable(); + } + // 默认图片 + @Override + protected int getDefaultDrawableResId() { + return R.drawable.loading_01; + } + + @Override + protected void onLoadingDrawableSet(Drawable imageDrawable) { + // NO-OP + } + + @Override + protected void onPullImpl(float scaleOfLayout) { + // NO-OP + } + // 下拉以刷新 + @Override + protected void pullToRefreshImpl() { + // NO-OP + } + // 正在刷新时回调 + @Override + protected void refreshingImpl() { + // 播放帧动画 + animationDrawable.start(); + } + // 释放以刷新 + @Override + protected void releaseToRefreshImpl() { + // NO-OP + } + // 重新设置 + @Override + protected void resetImpl() { + mHeaderImage.setVisibility(View.VISIBLE); + mHeaderImage.clearAnimation(); + } +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/Utils.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/Utils.java new file mode 100644 index 0000000..7343218 --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/Utils.java @@ -0,0 +1,13 @@ +package com.handmark.pulltorefresh.library.internal; + +import android.util.Log; + +public class Utils { + + static final String LOG_TAG = "PullToRefresh"; + + public static void warnDeprecation(String depreacted, String replacement) { + Log.w(LOG_TAG, "You're using the deprecated " + depreacted + " attr, please switch over to " + replacement); + } + +} diff --git a/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/ViewCompat.java b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/ViewCompat.java new file mode 100644 index 0000000..618bace --- /dev/null +++ b/library_pullToRefresh/src/com/handmark/pulltorefresh/library/internal/ViewCompat.java @@ -0,0 +1,70 @@ +/******************************************************************************* + * Copyright 2011, 2012 Chris Banes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ +package com.handmark.pulltorefresh.library.internal; + +import android.annotation.TargetApi; +import android.graphics.drawable.Drawable; +import android.os.Build.VERSION; +import android.os.Build.VERSION_CODES; +import android.view.View; + +@SuppressWarnings("deprecation") +public class ViewCompat { + + public static void postOnAnimation(View view, Runnable runnable) { + if (VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN) { + SDK16.postOnAnimation(view, runnable); + } else { + view.postDelayed(runnable, 16); + } + } + + public static void setBackground(View view, Drawable background) { + if (VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN) { + SDK16.setBackground(view, background); + } else { + view.setBackgroundDrawable(background); + } + } + + public static void setLayerType(View view, int layerType) { + if (VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB) { + SDK11.setLayerType(view, layerType); + } + } + + @TargetApi(11) + static class SDK11 { + + public static void setLayerType(View view, int layerType) { + view.setLayerType(layerType, null); + } + } + + @TargetApi(16) + static class SDK16 { + + public static void postOnAnimation(View view, Runnable runnable) { + view.postOnAnimation(runnable); + } + + public static void setBackground(View view, Drawable background) { + view.setBackground(background); + } + + } + +}