From 45ba8d9dd706aa2c70fbf103ec3c0e2a2317bd47 Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Thu, 12 Mar 2020 18:46:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E5=88=87=E7=9A=84=E5=BC=80=E5=A7=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 89 +++ .idea/codeStyles/Project.xml | 116 +++ .idea/misc.xml | 4 + LICENSE | 674 ++++++++++++++++++ README.md | 28 + app/.gitignore | 1 + app/build.gradle | 66 ++ app/proguard-rules.pro | 21 + .../textcut/ExampleInstrumentedTest.java | 27 + app/src/main/AndroidManifest.xml | 29 + app/src/main/java/com/fatapp/textcut/Cut.java | 28 + .../main/java/com/fatapp/textcut/GetFile.java | 157 ++++ .../main/java/com/fatapp/textcut/GetText.java | 162 +++++ .../java/com/fatapp/textcut/MainActivity.java | 417 +++++++++++ .../java/com/fatapp/textcut/NumberPicker.java | 12 + .../com/fatapp/textcut/PermissionUtils.java | 136 ++++ .../main/res/anim/actionsheet_dialog_in.xml | 5 + .../main/res/anim/actionsheet_dialog_out.xml | 5 + .../main/res/drawable-hdpi/ic_launcher.png | Bin 0 -> 3109 bytes .../res/drawable-hdpi/ic_launcher_round.png | Bin 0 -> 5473 bytes .../main/res/drawable-mdpi/ic_launcher.png | Bin 0 -> 1755 bytes .../res/drawable-mdpi/ic_launcher_round.png | Bin 0 -> 2971 bytes .../main/res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 4230 bytes .../res/drawable-xhdpi/ic_launcher_round.png | Bin 0 -> 7366 bytes .../main/res/drawable-xxhdpi/ic_launcher.png | Bin 0 -> 8559 bytes .../res/drawable-xxhdpi/ic_launcher_round.png | Bin 0 -> 14357 bytes .../main/res/drawable-xxxhdpi/ic_launcher.png | Bin 0 -> 13116 bytes .../drawable-xxxhdpi/ic_launcher_round.png | Bin 0 -> 19838 bytes app/src/main/res/drawable/background.xml | 5 + .../res/drawable/button_roud_shape_click.xml | 12 + .../main/res/drawable/button_round_shape.xml | 12 + .../main/res/drawable/ic_add_white_24dp.xml | 9 + .../drawable/ic_content_cut_white_24dp.xml | 9 + app/src/main/res/drawable/ic_launcher.png | Bin 0 -> 73601 bytes app/src/main/res/layout/activity_main.xml | 69 ++ app/src/main/res/layout/content_main.xml | 47 ++ app/src/main/res/layout/dialog_layout.xml | 61 ++ app/src/main/res/menu/menu_main.xml | 11 + app/src/main/res/values-v21/styles.xml | 44 ++ app/src/main/res/values/colors.xml | 12 + app/src/main/res/values/dimens.xml | 3 + app/src/main/res/values/menu/menu_main.xml | 10 + app/src/main/res/values/strings.xml | 15 + app/src/main/res/values/styles.xml | 44 ++ .../com/fatapp/textcut/ExampleUnitTest.java | 17 + build.gradle | 27 + gradle.properties | 20 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54329 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 172 +++++ gradlew.bat | 84 +++ settings.gradle | 2 + 52 files changed, 2668 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/misc.xml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 app/.gitignore create mode 100644 app/build.gradle create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/fatapp/textcut/ExampleInstrumentedTest.java create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/com/fatapp/textcut/Cut.java create mode 100644 app/src/main/java/com/fatapp/textcut/GetFile.java create mode 100644 app/src/main/java/com/fatapp/textcut/GetText.java create mode 100644 app/src/main/java/com/fatapp/textcut/MainActivity.java create mode 100644 app/src/main/java/com/fatapp/textcut/NumberPicker.java create mode 100644 app/src/main/java/com/fatapp/textcut/PermissionUtils.java create mode 100644 app/src/main/res/anim/actionsheet_dialog_in.xml create mode 100644 app/src/main/res/anim/actionsheet_dialog_out.xml create mode 100644 app/src/main/res/drawable-hdpi/ic_launcher.png create mode 100644 app/src/main/res/drawable-hdpi/ic_launcher_round.png create mode 100644 app/src/main/res/drawable-mdpi/ic_launcher.png create mode 100644 app/src/main/res/drawable-mdpi/ic_launcher_round.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/drawable/background.xml create mode 100644 app/src/main/res/drawable/button_roud_shape_click.xml create mode 100644 app/src/main/res/drawable/button_round_shape.xml create mode 100644 app/src/main/res/drawable/ic_add_white_24dp.xml create mode 100644 app/src/main/res/drawable/ic_content_cut_white_24dp.xml create mode 100644 app/src/main/res/drawable/ic_launcher.png create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/content_main.xml create mode 100644 app/src/main/res/layout/dialog_layout.xml create mode 100644 app/src/main/res/menu/menu_main.xml create mode 100644 app/src/main/res/values-v21/styles.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/dimens.xml create mode 100644 app/src/main/res/values/menu/menu_main.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/styles.xml create mode 100644 app/src/test/java/com/fatapp/textcut/ExampleUnitTest.java create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..99dc365 --- /dev/null +++ b/.gitignore @@ -0,0 +1,89 @@ +# Built application files +*.apk +*.aar +*.ap_ +*.aab + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ +# Uncomment the following line in case you need and you don't have the release build type files in your app +release/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties +keystore.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/workspace.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +# Android Studio 3 in .gitignore file. +.idea/caches +.idea/modules.xml +# Comment next line if keeping position of elements in Navigation Editor is relevant for you +.idea/navEditor.xml + +# Keystore files +# Uncomment the following lines if you do not want to check your keystore files in. +#*.jks +#*.keystore + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild +.cxx/ + +# Google Services (e.g. APIs or Firebase) +# google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md + +# Version control +vcs.xml + +# lint +lint/intermediates/ +lint/generated/ +lint/outputs/ +lint/tmp/ +# lint/reports/ + +#other +.DS_Store diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..681f41a --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,116 @@ + + + + + + + +
+ + + + xmlns:android + + ^$ + + + +
+
+ + + + xmlns:.* + + ^$ + + + BY_NAME + +
+
+ + + + .*:id + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + .*:name + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + name + + ^$ + + + +
+
+ + + + style + + ^$ + + + +
+
+ + + + .* + + ^$ + + + BY_NAME + +
+
+ + + + .* + + http://schemas.android.com/apk/res/android + + + ANDROID_ATTRIBUTE_ORDER + +
+
+ + + + .* + + .* + + + BY_NAME + +
+
+
+
+
+
\ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..0d45e8d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..ef5eee6 --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +

Title

+

+ “Official + Jenkins Building Status + GitHub release (latest by date) + GitHub license +

+ +

可将一个长文本文件分割成多个文本文件保存

+ +特性 +----------- +- APP体积小,占用内存少 +- UI能简则简 +- 简易操作 + +快速使用 +----------- +- 打开APP +- 点击右下角加号按钮选择文件 +- 点击裁切按钮 +- 选择要裁切的份数 +- 点击确定进行裁切 +- 在文件同目录下可见一个同名文件夹存放裁切成品 + +已知问题 +----------- +暂未适配Android N及以上版本 \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..acd72bf --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,66 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 29 + buildToolsVersion "29.0.2" + defaultConfig { + applicationId "com.fatapp.textcut" + minSdkVersion 19 + targetSdkVersion 29 + versionCode 191112 + versionName '1.0.191112' + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + android.defaultConfig.vectorDrawables.useSupportLibrary = true + + android.applicationVariants.all { + variant -> + variant.outputs.all { + output -> outputFileName = new File(variant.name, "TextCut" + "_v" + defaultConfig.versionName + "_" + buildType.name + ".apk") + } + } + + signingConfigs { + release { + Properties buildPro = buildSign() + storeFile file(buildPro['storeFile']) + storePassword buildPro['storePassword'] + keyAlias buildPro['keyAlias'] + keyPassword buildPro['keyPassword'] + } + } + + buildTypes { + release { + signingConfig signingConfigs.release + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + +} + +def buildSign() { + Properties buildProperties = new Properties() + buildProperties.load(new FileInputStream(file("../keystore.properties"))) + return buildProperties +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation 'com.google.android.material:material:1.0.0' + testImplementation 'junit:junit:4.13' + androidTestImplementation 'androidx.test.ext:junit:1.1.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + + implementation 'cn.carbswang.android:NumberPickerView:1.2.0' + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'org.apache.httpcomponents:httpcore:4.4.12' + + implementation 'com.github.ybq:Android-SpinKit:1.4.0' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.61' + implementation 'cn.imlibo:FilePicker:v0.0.5_alpha' +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..f1b4245 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/app/src/androidTest/java/com/fatapp/textcut/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/fatapp/textcut/ExampleInstrumentedTest.java new file mode 100644 index 0000000..b4d0cdf --- /dev/null +++ b/app/src/androidTest/java/com/fatapp/textcut/ExampleInstrumentedTest.java @@ -0,0 +1,27 @@ +package com.fatapp.textcut; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + + assertEquals("com.fatapp.textcut", appContext.getPackageName()); + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..08924f9 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/fatapp/textcut/Cut.java b/app/src/main/java/com/fatapp/textcut/Cut.java new file mode 100644 index 0000000..eb62d64 --- /dev/null +++ b/app/src/main/java/com/fatapp/textcut/Cut.java @@ -0,0 +1,28 @@ +package com.fatapp.textcut; + +import java.util.ArrayList; + +class Cut { + static ArrayList cutText(String text, int number) { + + ArrayList output = new ArrayList<>(); + int totalNumber = text.length() - 1; + + + if (totalNumber % number == 0) { + int textNumber = (int) Math.floor((double) totalNumber / (double) number); + for (int n = 0; n <= number - 1; n++) { + output.add(text.substring(n * textNumber, n * textNumber + textNumber)); + } + } else { + int cutNumber = number - 1; + int textNumber = (int) Math.floor((double) totalNumber / (double) number); + for (int n = 0; n <= cutNumber - 1; n++) { + output.add(text.substring(n * textNumber, n * textNumber + textNumber)); + } + output.add(text.substring(cutNumber * textNumber)); + } + + return output; + } +} diff --git a/app/src/main/java/com/fatapp/textcut/GetFile.java b/app/src/main/java/com/fatapp/textcut/GetFile.java new file mode 100644 index 0000000..db8b5af --- /dev/null +++ b/app/src/main/java/com/fatapp/textcut/GetFile.java @@ -0,0 +1,157 @@ +package com.fatapp.textcut; + +import android.annotation.SuppressLint; +import android.content.ContentUris; +import android.content.Context; +import android.database.Cursor; +import android.net.Uri; +import android.os.Build; +import android.os.Environment; +import android.provider.DocumentsContract; +import android.provider.MediaStore; + +public class GetFile { + + public static String getFileUri(Context context, Uri uri) { + String path; + if ("file".equalsIgnoreCase(uri.getScheme())) {//使用第三方应用打开 + path = uri.getPath(); + } + if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT) {//4.4以后 + path = getPath(context, uri); + } else {//4.4以下下系统调用方法 + path = getRealPathFromURI(context, uri); + } + return path; + } + + public static String getRealPathFromURI(Context context, Uri contentUri) { + String res = null; + String[] proj = {MediaStore.Images.Media.DATA}; + Cursor cursor = context.getContentResolver().query(contentUri, proj, null, null, null); + if (null != cursor && cursor.moveToFirst()) { + int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); + res = cursor.getString(column_index); + cursor.close(); + } + return res; + } + + /** + * 专为Android4.4设计的从Uri获取文件绝对路径,以前的方法已不好使 + */ + @SuppressLint("NewApi") + public static String getPath(final Context context, final Uri uri) { + + final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT; + + // DocumentProvider + if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) { + // ExternalStorageProvider + if (isExternalStorageDocument(uri)) { + final String docId = DocumentsContract.getDocumentId(uri); + final String[] split = docId.split(":"); + final String type = split[0]; + + if ("primary".equalsIgnoreCase(type)) { + return Environment.getExternalStorageDirectory() + "/" + split[1]; + } + } + // DownloadsProvider + else if (isDownloadsDocument(uri)) { + + final String id = DocumentsContract.getDocumentId(uri); + final Uri contentUri = ContentUris.withAppendedId( + Uri.parse("content://downloads/public_downloads"), Long.valueOf(id)); + + return getDataColumn(context, contentUri, null, null); + } + // MediaProvider + else if (isMediaDocument(uri)) { + final String docId = DocumentsContract.getDocumentId(uri); + final String[] split = docId.split(":"); + final String type = split[0]; + + Uri contentUri = null; + if ("image".equals(type)) { + contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; + } else if ("video".equals(type)) { + contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; + } else if ("audio".equals(type)) { + contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; + } + + final String selection = "_id=?"; + final String[] selectionArgs = new String[]{split[1]}; + + return getDataColumn(context, contentUri, selection, selectionArgs); + } + } + // MediaStore (and general) + else if ("content".equalsIgnoreCase(uri.getScheme())) { + return getDataColumn(context, uri, null, null); + } + // File + else if ("file".equalsIgnoreCase(uri.getScheme())) { + return uri.getPath(); + } + return null; + } + + /** + * Get the value of the data column for this Uri. This is useful for + * MediaStore Uris, and other file-based ContentProviders. + * + * @param context The context. + * @param uri The Uri to query. + * @param selection (Optional) Filter used in the query. + * @param selectionArgs (Optional) Selection arguments used in the query. + * @return The value of the _data column, which is typically a file path. + */ + public static String getDataColumn(Context context, Uri uri, String selection, + String[] selectionArgs) { + + Cursor cursor = null; + final String column = "_data"; + final String[] projection = {column}; + + try { + cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, + null); + if (cursor != null && cursor.moveToFirst()) { + final int column_index = cursor.getColumnIndexOrThrow(column); + return cursor.getString(column_index); + } + } finally { + if (cursor != null) + cursor.close(); + } + return null; + } + + /** + * @param uri The Uri to check. + * @return Whether the Uri authority is ExternalStorageProvider. + */ + public static boolean isExternalStorageDocument(Uri uri) { + return "com.android.externalstorage.documents".equals(uri.getAuthority()); + } + + /** + * @param uri The Uri to check. + * @return Whether the Uri authority is DownloadsProvider. + */ + public static boolean isDownloadsDocument(Uri uri) { + return "com.android.providers.downloads.documents".equals(uri.getAuthority()); + } + + /** + * @param uri The Uri to check. + * @return Whether the Uri authority is MediaProvider. + */ + public static boolean isMediaDocument(Uri uri) { + return "com.android.providers.media.documents".equals(uri.getAuthority()); + } + + +} diff --git a/app/src/main/java/com/fatapp/textcut/GetText.java b/app/src/main/java/com/fatapp/textcut/GetText.java new file mode 100644 index 0000000..a19711d --- /dev/null +++ b/app/src/main/java/com/fatapp/textcut/GetText.java @@ -0,0 +1,162 @@ +package com.fatapp.textcut; + +import org.apache.http.util.ByteArrayBuffer; +import org.apache.http.util.EncodingUtils; + +import java.io.BufferedInputStream; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.LineNumberReader; +import java.nio.charset.StandardCharsets; + +public class GetText { + private static int lineNumber; + private static int onLine; + private static String text; + private static Boolean done; + + /** + * @返回 TXT文件的所有字符 用String 接收 + */ + public static String GetLog(String path) { + String txt; + int current; + File file = new File(path); + ByteArrayBuffer bb = new ByteArrayBuffer(500); + try { + BufferedReader reader = new BufferedReader(new FileReader(file)); + while ((current = reader.read()) != -1) { + bb.append(current); + } + reader.close(); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + txt = EncodingUtils.getString(bb.toByteArray(), "GB2312"); + return txt; + } + + public static BufferedReader convertCodeAndGetText(String str_filepath) {// 转码 + + File file = new File(str_filepath); + BufferedReader reader = null; + + + try { + LineNumberReader lnr = new LineNumberReader(new FileReader(file)); + lnr.skip(Long.MAX_VALUE); + + // FileReader f_reader = new FileReader(file); + // BufferedReader reader = new BufferedReader(f_reader); + FileInputStream fis = new FileInputStream(file); + BufferedInputStream in = new BufferedInputStream(fis); + in.mark(4); + byte[] first3bytes = new byte[3]; + in.read(first3bytes);//找到文档的前三个字节并自动判断文档类型。 + in.reset(); + if (first3bytes[0] == (byte) 0xEF && first3bytes[1] == (byte) 0xBB + && first3bytes[2] == (byte) 0xBF) {// utf-8 + + reader = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8)); + + } else if (first3bytes[0] == (byte) 0xFF + && first3bytes[1] == (byte) 0xFE) { + + reader = new BufferedReader( + new InputStreamReader(in, "unicode")); + } else if (first3bytes[0] == (byte) 0xFE + && first3bytes[1] == (byte) 0xFF) { + + reader = new BufferedReader(new InputStreamReader(in, + StandardCharsets.UTF_16BE)); + } else if (first3bytes[0] == (byte) 0xFF + && first3bytes[1] == (byte) 0xFF) { + + reader = new BufferedReader(new InputStreamReader(in, + StandardCharsets.UTF_16LE)); + } else { + + reader = new BufferedReader(new InputStreamReader(in, "GBK")); + } + + + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return reader; + } + + + public static int getFileLineNumber(BufferedReader reader) throws IOException { + lineNumber = 0; + //读入文件数据 + LineNumberReader lnr = new LineNumberReader(reader); + //开始一个字符一个字符的跳过 一直到最后一个字符。读取完成 + lnr.skip(Long.MAX_VALUE); + //有一个换行符 + lineNumber = lnr.getLineNumber() + 1; + lnr.close(); + return lineNumber; + + } + + public static String getText(BufferedReader reader) { + text = ""; + onLine = 1; + + try { + String str = reader.readLine(); + while (str != null) { + onLine++; + text = text + str + "\n"; + str = reader.readLine(); + } + reader.close(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + done = true; + return text; + } + + public static int getLineNumber() { + return lineNumber; + } + + private static void setLineNumber(int n) { + lineNumber = n; + } + + public static int getOnLine() { + return onLine; + } + + public static void setOnLine(int n) { + onLine = n; + } + + public static String getText() { + return text; + } + + public static void setText(String t) { + text = t; + } + + public static Boolean getDone() { + return done; + } + + public static void setDone(Boolean b) { + done = b; + } +} diff --git a/app/src/main/java/com/fatapp/textcut/MainActivity.java b/app/src/main/java/com/fatapp/textcut/MainActivity.java new file mode 100644 index 0000000..fb07540 --- /dev/null +++ b/app/src/main/java/com/fatapp/textcut/MainActivity.java @@ -0,0 +1,417 @@ +package com.fatapp.textcut; + +import android.app.Activity; +import android.app.Dialog; +import android.content.Intent; +import android.content.SharedPreferences; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; + +import com.google.android.material.floatingactionbutton.FloatingActionButton; +import com.google.android.material.snackbar.Snackbar; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; + +import android.util.Log; +import android.view.Gravity; +import android.view.KeyEvent; +import android.view.MotionEvent; +import android.view.View; +import android.view.Menu; +import android.view.MenuItem; +import android.view.Window; +import android.view.WindowManager; +import android.widget.TextView; +import android.widget.Toast; + +import java.io.File; +import java.io.IOException; +import java.io.RandomAccessFile; +import java.util.ArrayList; + +import cn.carbswang.android.numberpickerview.library.NumberPickerView; + + +public class MainActivity extends AppCompatActivity { + final int REQUEST_CODE_CHOOSE_FILE = 0; + + private boolean loading = false; + private String filePath; + + private Dialog mDialog; + + private int choseNumber = 0; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + getPermissins(); + + Toolbar toolbar = findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + FloatingActionButton fab = findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(Intent.ACTION_GET_CONTENT); + intent.setType("text/plain"); + intent.addCategory(Intent.CATEGORY_OPENABLE); + startActivityForResult(intent, REQUEST_CODE_CHOOSE_FILE); + } + }); + + + findViewById(R.id.transform).setOnTouchListener(new View.OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + if (event.getAction() == MotionEvent.ACTION_DOWN) { + //显示按下时的背景图片 + v.setBackgroundResource(R.drawable.button_roud_shape_click); + } else if (event.getAction() == MotionEvent.ACTION_UP) { + //显示抬起时的背景图片 + v.setBackgroundResource(R.drawable.button_round_shape); + } + return false; + } + }); + + findViewById(R.id.transform).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + showDialog(); + } + }); + + //定义一个setting记录APP是几次启动 + SharedPreferences setting = getSharedPreferences("com.fatapp.textcut", 0); + boolean user_first = setting.getBoolean("FIRST", true); + if (user_first) {// 第一次则跳转到欢迎页面 + setting.edit().putBoolean("FIRST", false).apply(); + } + } + + private long mExitTime; + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (loading) { + if (keyCode == KeyEvent.KEYCODE_BACK) + Toast.makeText(this, R.string.cannotBack, Toast.LENGTH_SHORT).show(); + return true; + } else { + //与上次点击返回键时刻作差 + if ((System.currentTimeMillis() - mExitTime) > 2000) { + //大于2000ms则认为是误操作,使用Toast进行提示 + Toast.makeText(this, R.string.exitWarn, Toast.LENGTH_SHORT).show(); + //并记录下本次点击“返回键”的时刻,以便下次进行判断 + mExitTime = System.currentTimeMillis(); + } else { + //小于2000ms则认为是用户确实希望退出程序-调用System.exit()方法进行退出 + System.exit(0); + } + return true; + } + }//屏蔽返回键 + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + System.exit(0); + return true; + } + + return super.onOptionsItemSelected(item); + } + + String path; + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + + switch (requestCode) { + case REQUEST_CODE_CHOOSE_FILE: + if (resultCode == Activity.RESULT_OK) { + if (data == null) { + return; + } + + Uri uri; + uri = data.getData(); + + if ("file".equalsIgnoreCase(uri.getScheme())) {//使用第三方应用打开 + path = uri.getPath(); + } + if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT) {//4.4以后 + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + path = uri.getPath(); + Log.println(Log.ERROR, "Path ", path); + } else { + path = GetFile.getPath(this, uri); + } + } else {//4.4以下下系统调用方法 + path = GetFile.getRealPathFromURI(getBaseContext(), uri); + } + + + filePath = path; + + File text = new File(filePath); + if (text.isFile() | text.exists()) { + try { + int n = GetText.getFileLineNumber(GetText.convertCodeAndGetText(text.getAbsolutePath())); + Toast.makeText(this, getString(R.string.totalLine, Integer.toString(n)), Toast.LENGTH_SHORT).show(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + final File txt = new File(filePath); + if (txt.isFile() | txt.exists()) { + GetText.setDone(false); + MainActivity.this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE); + loading = true; + findViewById(R.id.loadingView).setVisibility(View.VISIBLE); + new Thread(new Runnable() { + public void run() { + //在这里可以进行UI操作 + do { + runOnUiThread(new Runnable() { + public void run() { + float percent = (float) GetText.getOnLine() / GetText.getLineNumber() * 100; + TextView loadingText = findViewById(R.id.loadingText); + loadingText.setText(getString(R.string.transCoding, Integer.toString((int) percent), Integer.toString(GetText.getOnLine()), Integer.toString(GetText.getLineNumber()))); + } + }); + try { + Thread.sleep(100); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } while (!GetText.getDone()); + } + }).start(); + new Thread(new Runnable() { + public void run() { + GetText.getText(GetText.convertCodeAndGetText(txt.getAbsolutePath())); + runOnUiThread(new Runnable() { + public void run() { + TextView o = findViewById(R.id.originalTextView); + o.setText(GetText.getText()); + findViewById(R.id.loadingView).setVisibility(View.GONE); + MainActivity.this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE); + loading = false; + } + }); + } + }).start(); + } + } + break; + } + } + + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + PermissionUtils.onRequestPermissionsResult(this, requestCode, permissions, grantResults); + } + + private void getPermissins() { + requestPermissins(new PermissionUtils.OnPermissionListener() { + @Override + public void onPermissionGranted() { + } + + @Override + public void onPermissionDenied(String[] deniedPermissions) { + Toast.makeText(MainActivity.this, R.string.permissionDenied, Toast.LENGTH_SHORT).show(); + getPermissins(); + } + }); + } + + private void requestPermissins(PermissionUtils.OnPermissionListener mOnPermissionListener) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { + mOnPermissionListener.onPermissionGranted(); + return; + } + String[] permissions = {"android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE"}; + PermissionUtils.requestPermissions(this, 0 + , permissions, mOnPermissionListener); + } + + /** + * 显示弹出框 + */ + private void showDialog() { + if (mDialog == null) { + initDialog(); + } + mDialog.show(); + } + + /** + * 初始化分享弹出框 + */ + private void initDialog() { + mDialog = new Dialog(this, R.style.ActionSheetDialogStyle); + mDialog.setCanceledOnTouchOutside(true); //手指触碰到外界取消 + mDialog.setCancelable(true); //可取消 为true + Window window = mDialog.getWindow(); // 得到dialog的窗体 + window.setGravity(Gravity.BOTTOM); + window.setWindowAnimations(R.style.ActionSheetDialogAnimation); + + View view = View.inflate(this, R.layout.dialog_layout, null); //获取布局视图 + final NumberPickerView picker = view.findViewById(R.id.picker); + ArrayList displayValuesList = new ArrayList<>(); + for (int i = 2; i <= 100; i++) { + displayValuesList.add(Integer.toString(i)); + } + String[] displayValues = new String[displayValuesList.size()]; + displayValues = displayValuesList.toArray(displayValues); + picker.setDisplayedValues(displayValues); + picker.setMinValue(2); + picker.setMaxValue(100); + picker.setValue(2); + + view.findViewById(R.id.close).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (mDialog != null && mDialog.isShowing()) { + mDialog.dismiss(); + } + } + }); + + view.findViewById(R.id.ok).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + choseNumber = picker.getValue(); + + if (GetText.getText() == null) { + Snackbar.make(v, R.string.sourceTextEmpty, Snackbar.LENGTH_LONG).show(); + return; + } + if (GetText.getText().length() - 1 < choseNumber) { + Snackbar.make(v, R.string.cutNumberTooBig, Snackbar.LENGTH_LONG).show(); + return; + } + ArrayList output = Cut.cutText(GetText.getText(), choseNumber); + + File file = new File(filePath); + String fileName = getFileNameNoEx(file.getName()); + for (int n = 0; n <= output.size() - 1; n++) { + int m = n + 1; + writeTxtToFile(output.get(n), file.getParent() + "/" + fileName + "/", fileName + "_" + m + ".txt"); + } + + if (mDialog != null && mDialog.isShowing()) { + mDialog.dismiss(); + } + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + Snackbar.make(findViewById(R.id.contentView), R.string.save + ": " + file.getParent() + "/" + fileName + "/", Snackbar.LENGTH_LONG).show(); +// Toast.makeText(getBaseContext(), "已将文本切割成" + choseNumber + "份", Toast.LENGTH_SHORT).show(); +// Toast.makeText(getBaseContext(), "保存:" + file.getParent() + "/" + fileName + "/", Toast.LENGTH_SHORT).show(); + } + }); + + window.setContentView(view); + window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);//设置横向全屏 + } + + /* + * Java文件操作 获取不带扩展名的文件名 + * */ + public static String getFileNameNoEx(String filename) { + if ((filename != null) && (filename.length() > 0)) { + int dot = filename.lastIndexOf('.'); + if ((dot > -1) && (dot < (filename.length()))) { + return filename.substring(0, dot); + } + } + return filename; + } + + // 将字符串写入到文本文件中 + private void writeTxtToFile(String strcontent, String filePath, String fileName) { + //生成文件夹之后,再生成文件,不然会出错 + makeFilePath(filePath, fileName); + + String strFilePath = filePath + fileName; + // 每次写入时,都换行写 + String strContent = strcontent + "\r\n"; + try { + File file = new File(strFilePath); + if (!file.exists()) { + Log.d("TestFile", "Create the file:" + strFilePath); + file.getParentFile().mkdirs(); + file.createNewFile(); + } + RandomAccessFile raf = new RandomAccessFile(file, "rwd"); + raf.seek(file.length()); + raf.write(strContent.getBytes()); + raf.close(); + } catch (Exception e) { + Log.e("TestFile", "Error on write File:" + e); + } + } + +//生成文件 + + private File makeFilePath(String filePath, String fileName) { + File file = null; + makeRootDirectory(filePath); + try { + file = new File(filePath + fileName); + if (file.exists()) { + file.delete(); + } + file.createNewFile(); + } catch (Exception e) { + e.printStackTrace(); + } + return file; + } + +//生成文件夹 + + private static void makeRootDirectory(String filePath) { + File file = null; + try { + file = new File(filePath); + if (!file.exists()) { + file.mkdir(); + } + } catch (Exception e) { + Log.i("error:", e + ""); + } + } + +} + diff --git a/app/src/main/java/com/fatapp/textcut/NumberPicker.java b/app/src/main/java/com/fatapp/textcut/NumberPicker.java new file mode 100644 index 0000000..dacb200 --- /dev/null +++ b/app/src/main/java/com/fatapp/textcut/NumberPicker.java @@ -0,0 +1,12 @@ +package com.fatapp.textcut; + +import android.os.Bundle; + +import androidx.appcompat.app.AppCompatActivity; + +public class NumberPicker extends AppCompatActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } +} diff --git a/app/src/main/java/com/fatapp/textcut/PermissionUtils.java b/app/src/main/java/com/fatapp/textcut/PermissionUtils.java new file mode 100644 index 0000000..da9b469 --- /dev/null +++ b/app/src/main/java/com/fatapp/textcut/PermissionUtils.java @@ -0,0 +1,136 @@ +package com.fatapp.textcut; + +import android.annotation.TargetApi; +import android.app.Activity; +import android.content.Context; +import android.content.pm.PackageManager; +import android.os.Build; + +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; + +import java.util.ArrayList; +import java.util.List; + +/** + *
+ *     desc  : 权限相关工具类
+ * 
+ */ +public final class PermissionUtils { + + private static int mRequestCode = -1; + + private static OnPermissionListener mOnPermissionListener; + + public interface OnPermissionListener { + + void onPermissionGranted(); + + void onPermissionDenied(String[] deniedPermissions); + } + + public abstract static class RationaleHandler { + private Context context; + private int requestCode; + private String[] permissions; + + protected abstract void showRationale(); + + void showRationale(Context context, int requestCode, String[] permissions) { + this.context = context; + this.requestCode = requestCode; + this.permissions = permissions; + showRationale(); + } + + @TargetApi(Build.VERSION_CODES.M) + public void requestPermissionsAgain() { + ((Activity) context).requestPermissions(permissions, requestCode); + } + } + + @TargetApi(Build.VERSION_CODES.M) + public static void requestPermissions(Context context, int requestCode + , String[] permissions, OnPermissionListener listener) { + requestPermissions(context, requestCode, permissions, listener, null); + } + + @TargetApi(Build.VERSION_CODES.M) + public static void requestPermissions(Context context, int requestCode + , String[] permissions, OnPermissionListener listener, RationaleHandler handler) { + if (context instanceof Activity) { + mRequestCode = requestCode; + mOnPermissionListener = listener; + String[] deniedPermissions = getDeniedPermissions(context, permissions); + if (deniedPermissions.length > 0) { + boolean rationale = shouldShowRequestPermissionRationale(context, deniedPermissions); + if (rationale && handler != null) { + handler.showRationale(context, requestCode, deniedPermissions); + } else { + ((Activity) context).requestPermissions(deniedPermissions, requestCode); + } + } else { + if (mOnPermissionListener != null) + mOnPermissionListener.onPermissionGranted(); + } + } else { + throw new RuntimeException("Context must be an Activity"); + } + } + + /** + * 请求权限结果,对应Activity中onRequestPermissionsResult()方法。 + */ + public static void onRequestPermissionsResult(Activity context, int requestCode, String[] permissions, int[] + grantResults) { + if (mRequestCode != -1 && requestCode == mRequestCode) { + if (mOnPermissionListener != null) { + String[] deniedPermissions = getDeniedPermissions(context, permissions); + if (deniedPermissions.length > 0) { + mOnPermissionListener.onPermissionDenied(deniedPermissions); + } else { + mOnPermissionListener.onPermissionGranted(); + } + } + } + } + + /** + * 获取请求权限中需要授权的权限 + */ + private static String[] getDeniedPermissions(Context context, String[] permissions) { + List deniedPermissions = new ArrayList<>(); + for (String permission : permissions) { + if (ContextCompat.checkSelfPermission(context, permission) == PackageManager.PERMISSION_DENIED) { + deniedPermissions.add(permission); + } + } + return deniedPermissions.toArray(new String[deniedPermissions.size()]); + } + + /** + * 是否彻底拒绝了某项权限 + */ + public static boolean hasAlwaysDeniedPermission(Context context, String... deniedPermissions) { + for (String deniedPermission : deniedPermissions) { + if (!shouldShowRequestPermissionRationale(context, deniedPermission)) { + return true; + } + } + return false; + } + + /** + * 是否有权限需要说明提示 + */ + private static boolean shouldShowRequestPermissionRationale(Context context, String... deniedPermissions) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return false; + boolean rationale; + for (String permission : deniedPermissions) { + rationale = ActivityCompat.shouldShowRequestPermissionRationale((Activity) context, permission); + if (rationale) return true; + } + return false; + } +} \ No newline at end of file diff --git a/app/src/main/res/anim/actionsheet_dialog_in.xml b/app/src/main/res/anim/actionsheet_dialog_in.xml new file mode 100644 index 0000000..a3012c2 --- /dev/null +++ b/app/src/main/res/anim/actionsheet_dialog_in.xml @@ -0,0 +1,5 @@ + + \ No newline at end of file diff --git a/app/src/main/res/anim/actionsheet_dialog_out.xml b/app/src/main/res/anim/actionsheet_dialog_out.xml new file mode 100644 index 0000000..758f8de --- /dev/null +++ b/app/src/main/res/anim/actionsheet_dialog_out.xml @@ -0,0 +1,5 @@ + + \ No newline at end of file diff --git a/app/src/main/res/drawable-hdpi/ic_launcher.png b/app/src/main/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..cbef8eb9e28450253c04c138f73ef107484fc7d6 GIT binary patch literal 3109 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/ic_launcher_round.png b/app/src/main/res/drawable-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..567ec97fd445ea81d6103be070d8d376838a9062 GIT binary patch literal 5473 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 XcPbA9^Na6<00000NkvXXu0mjf?U#W$ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/ic_launcher.png b/app/src/main/res/drawable-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..59e3c6526d78d72434bff841a4b01d739f8aecb9 GIT binary patch literal 1755 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 R*T?_>002ovPDHLkV1jwXqZ|ML literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_launcher.png b/app/src/main/res/drawable-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..e8c3a673af940f9ec1d77a661f93dd9c2137f782 GIT binary patch literal 4230 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_launcher_round.png b/app/src/main/res/drawable-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..201f3e2e789c7a192bf0d637b046e4252c3c3b15 GIT binary patch literal 7366 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 L^i<20A4U8Rw$TC` literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_launcher.png b/app/src/main/res/drawable-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..483c74cf54a5d9449607ab569ef43be29c723763 GIT binary patch literal 8559 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%0A!d8Wetolm`O!W9R;!E?F0(r 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_launcher_round.png b/app/src/main/res/drawable-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..fe8d73528659e9b44c8bc0f02faa909311220167 GIT binary patch literal 14357 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_launcher.png b/app/src/main/res/drawable-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..97e851601d611591190cf7c2a529ae6fcfdcc37e GIT binary patch literal 13116 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 JB4x{f{{h+02I2q! literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_launcher_round.png b/app/src/main/res/drawable-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..d5e5711ab5d36d0d0ab1adfacf5259a4e09b2755 GIT binary patch literal 19838 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/background.xml b/app/src/main/res/drawable/background.xml new file mode 100644 index 0000000..7a4ca9f --- /dev/null +++ b/app/src/main/res/drawable/background.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/button_roud_shape_click.xml b/app/src/main/res/drawable/button_roud_shape_click.xml new file mode 100644 index 0000000..411e058 --- /dev/null +++ b/app/src/main/res/drawable/button_roud_shape_click.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/button_round_shape.xml b/app/src/main/res/drawable/button_round_shape.xml new file mode 100644 index 0000000..3243925 --- /dev/null +++ b/app/src/main/res/drawable/button_round_shape.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_add_white_24dp.xml b/app/src/main/res/drawable/ic_add_white_24dp.xml new file mode 100644 index 0000000..76c6382 --- /dev/null +++ b/app/src/main/res/drawable/ic_add_white_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_content_cut_white_24dp.xml b/app/src/main/res/drawable/ic_content_cut_white_24dp.xml new file mode 100644 index 0000000..654cb1f --- /dev/null +++ b/app/src/main/res/drawable/ic_content_cut_white_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_launcher.png b/app/src/main/res/drawable/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4e10f2b5144e2bdad1aa9d5c5c81266cfd1b946b GIT binary patch literal 73601 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

    o-IqP9r3gSU#oGnVhTM$+Dw)gJ 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..5d99a50 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml new file mode 100644 index 0000000..36a06ba --- /dev/null +++ b/app/src/main/res/layout/content_main.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_layout.xml b/app/src/main/res/layout/dialog_layout.xml new file mode 100644 index 0000000..6a7535c --- /dev/null +++ b/app/src/main/res/layout/dialog_layout.xml @@ -0,0 +1,61 @@ + + + + + +