From 97afaf36677a08479746aa80f0e314d8f6951032 Mon Sep 17 00:00:00 2001 From: Carlos Silva Date: Sat, 24 Apr 2010 22:02:20 +0100 Subject: [PATCH] Initial import. Version 1.0 --- .classpath | 7 + .project | 33 ++ AndroidManifest.xml | 26 ++ bin/K9DataKiller.apk | Bin 0 -> 30020 bytes bin/classes.dex | Bin 0 -> 6540 bytes bin/resources.ap_ | Bin 0 -> 24703 bytes default.properties | 13 + gpl-2.0.txt | 339 ++++++++++++++++++ res/drawable/copy_of_icon_on.png | Bin 0 -> 4318 bytes res/drawable/focus.png | Bin 0 -> 2312 bytes res/drawable/icon_off.png | Bin 0 -> 5094 bytes res/drawable/icon_on.png | Bin 0 -> 4967 bytes res/drawable/pressed.png | Bin 0 -> 2089 bytes res/drawable/widget_inner.xml | 5 + res/layout/widget.xml | 15 + res/values-en/strings.xml | 8 + res/values-pt/strings.xml | 8 + res/xml/widget.xml | 4 + src/org/r3pek/k9datakiller/Constants.java | 12 + .../k9datakiller/K9DataKillerWidget.java | 55 +++ src/org/r3pek/k9datakiller/StatusChanger.java | 60 ++++ 21 files changed, 585 insertions(+) create mode 100644 .classpath create mode 100644 .project create mode 100644 AndroidManifest.xml create mode 100644 bin/K9DataKiller.apk create mode 100644 bin/classes.dex create mode 100644 bin/resources.ap_ create mode 100644 default.properties create mode 100644 gpl-2.0.txt create mode 100644 res/drawable/copy_of_icon_on.png create mode 100644 res/drawable/focus.png create mode 100644 res/drawable/icon_off.png create mode 100644 res/drawable/icon_on.png create mode 100644 res/drawable/pressed.png create mode 100644 res/drawable/widget_inner.xml create mode 100644 res/layout/widget.xml create mode 100644 res/values-en/strings.xml create mode 100644 res/values-pt/strings.xml create mode 100644 res/xml/widget.xml create mode 100644 src/org/r3pek/k9datakiller/Constants.java create mode 100644 src/org/r3pek/k9datakiller/K9DataKillerWidget.java create mode 100644 src/org/r3pek/k9datakiller/StatusChanger.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..609aa00 --- /dev/null +++ b/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..5fd92c0 --- /dev/null +++ b/.project @@ -0,0 +1,33 @@ + + + K9DataKiller + + + + + + 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/AndroidManifest.xml b/AndroidManifest.xml new file mode 100644 index 0000000..cd2cb4a --- /dev/null +++ b/AndroidManifest.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bin/K9DataKiller.apk b/bin/K9DataKiller.apk new file mode 100644 index 0000000000000000000000000000000000000000..a60a075a2965267401b80fe24b70f78267bef31c GIT binary patch literal 30020 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 z%0D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 literal 0 HcmV?d00001 diff --git a/default.properties b/default.properties new file mode 100644 index 0000000..19c9665 --- /dev/null +++ b/default.properties @@ -0,0 +1,13 @@ +# 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, +# "build.properties", and override values to adapt the script to your +# project structure. + +# Indicates whether an apk should be generated for each density. +split.density=false +# Project target. +target=android-4 diff --git a/gpl-2.0.txt b/gpl-2.0.txt new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/gpl-2.0.txt @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) 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 +this service 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 make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. 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. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +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 +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the 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 a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE 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. + + 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 +convey 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 2 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, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision 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, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This 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. diff --git a/res/drawable/copy_of_icon_on.png b/res/drawable/copy_of_icon_on.png new file mode 100644 index 0000000000000000000000000000000000000000..5dedb83530f24ea4240ce247677ce49712a793d5 GIT binary patch literal 4318 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 M07*qoM6N<$g8mRz$p8QV literal 0 HcmV?d00001 diff --git a/res/drawable/focus.png b/res/drawable/focus.png new file mode 100644 index 0000000000000000000000000000000000000000..8f0bd9293829dd0c33f7f49ce1443bab63abc200 GIT binary patch literal 2312 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 IM6N<$f~5w4T>t<8 literal 0 HcmV?d00001 diff --git a/res/drawable/icon_on.png b/res/drawable/icon_on.png new file mode 100644 index 0000000000000000000000000000000000000000..6fa02e6d1f03474b616cc58a09f7c2dbf0521f03 GIT binary patch literal 4967 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 + + + + \ No newline at end of file diff --git a/res/layout/widget.xml b/res/layout/widget.xml new file mode 100644 index 0000000..95eb920 --- /dev/null +++ b/res/layout/widget.xml @@ -0,0 +1,15 @@ + + + + diff --git a/res/values-en/strings.xml b/res/values-en/strings.xml new file mode 100644 index 0000000..1d8bdad --- /dev/null +++ b/res/values-en/strings.xml @@ -0,0 +1,8 @@ + + + K-9 Data Killer + K-9 Mail background sync has been + enabled + disabled + K-9 Mail is not installed or you have a really old version of it + diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml new file mode 100644 index 0000000..f0a0354 --- /dev/null +++ b/res/values-pt/strings.xml @@ -0,0 +1,8 @@ + + + K-9 Data Killer + A sincronização do K-9 Mail foi + activada + desactivada + O K-9 Mail não está instalado ou então tem uma versão muito antiga + diff --git a/res/xml/widget.xml b/res/xml/widget.xml new file mode 100644 index 0000000..ed54a8c --- /dev/null +++ b/res/xml/widget.xml @@ -0,0 +1,4 @@ + + + diff --git a/src/org/r3pek/k9datakiller/Constants.java b/src/org/r3pek/k9datakiller/Constants.java new file mode 100644 index 0000000..e20fcbf --- /dev/null +++ b/src/org/r3pek/k9datakiller/Constants.java @@ -0,0 +1,12 @@ +package org.r3pek.k9datakiller; + +public final class Constants { + /* Preferences */ + public static final String PREF_WIDGET_STATUS = "org.r3pek.k9datakiller.k9syncenable"; + + /* Intents */ + public static final String INTENT_K9_SERVICE = "com.fsck.k9.K9RemoteControl.set"; + public static final String INTENT_K9_SERVICE_EXTRA = "com.fsck.k9.K9RemoteControl.backgroundOperations"; + public static final String INTENT_K9DATAKILLER_CHANGESTATUS = "org.r3pek.k9datakiller.CHANGE_STATUS"; + public static final String INTENT_K9DATAKILLER_STATUSCHANGED = "org.r3pek.k9datakiller.STATUS_CHANGED"; +} diff --git a/src/org/r3pek/k9datakiller/K9DataKillerWidget.java b/src/org/r3pek/k9datakiller/K9DataKillerWidget.java new file mode 100644 index 0000000..6b5d967 --- /dev/null +++ b/src/org/r3pek/k9datakiller/K9DataKillerWidget.java @@ -0,0 +1,55 @@ +package org.r3pek.k9datakiller; + +import android.app.PendingIntent; +import android.appwidget.AppWidgetManager; +import android.appwidget.AppWidgetProvider; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; +import android.widget.RemoteViews; + +public class K9DataKillerWidget extends AppWidgetProvider { + private static final String WIDGET_STATUS = "org.r3pek.k9datakiller.k9syncenable"; + + @Override + public void onReceive(Context context, Intent intent) { + super.onReceive(context, intent); + + if (intent.getAction().equals("org.r3pek.k9datakiller.STATUS_CHANGED")) { + /* Status updated. Update the Widget */ + AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); + int[] appWidgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(context, K9DataKillerWidget.class)); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + boolean syncEnable = prefs.getBoolean(WIDGET_STATUS, true); + appWidgetManager.updateAppWidget(appWidgetIds, getRemoteViews(context, appWidgetManager, appWidgetIds, syncEnable)); + } + } + + @Override + public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { + super.onUpdate(context, appWidgetManager, appWidgetIds); + + /* Get status from preferences */ + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + boolean syncEnable = prefs.getBoolean(WIDGET_STATUS, true); + + /* Update the widget */ + appWidgetManager.updateAppWidget(appWidgetIds, getRemoteViews(context, appWidgetManager, appWidgetIds, syncEnable)); + } + + private RemoteViews getRemoteViews(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds, boolean syncEnable) { + /* Update the image */ + RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget); + views.setImageViewResource(R.id.button, syncEnable ? R.drawable.icon_on : R.drawable.icon_off); + + /* Set the onClickListenner */ + Intent i = new Intent("org.r3pek.k9datakiller.CHANGE_STATUS"); + PendingIntent intent = PendingIntent.getBroadcast(context, 0, i, 0); + views.setOnClickPendingIntent(R.id.button, intent); + + return views; + } + +} diff --git a/src/org/r3pek/k9datakiller/StatusChanger.java b/src/org/r3pek/k9datakiller/StatusChanger.java new file mode 100644 index 0000000..5f4b021 --- /dev/null +++ b/src/org/r3pek/k9datakiller/StatusChanger.java @@ -0,0 +1,60 @@ +package org.r3pek.k9datakiller; + +import java.util.List; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.preference.PreferenceManager; +import android.widget.Toast; + +public class StatusChanger extends BroadcastReceiver { + + @Override + public void onReceive(Context context, Intent intent) { + if (intent.getAction().equals(Constants.INTENT_K9DATAKILLER_CHANGESTATUS)) + changeStatus(context); + } + + private static boolean isReceiverAvailable(Context context, String action) { + final PackageManager packageManager = context.getPackageManager(); + final Intent intent = new Intent(action); + List list = packageManager.queryBroadcastReceivers(intent, 0); + return list.size() > 0; + } + + private void changeStatus(Context context) { + /* Check if K-9 is installed */ + if (!isReceiverAvailable(context, Constants.INTENT_K9_SERVICE)) { + Toast.makeText(context, context.getString(R.string.k9notinstalled), Toast.LENGTH_LONG).show(); + return; + } + + /* Get status from preferences as K-9 doesn't support reading the status */ + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + boolean syncEnable = prefs.getBoolean(Constants.PREF_WIDGET_STATUS, true); + + /* Ask K-9 to change the setting */ + Intent i = new Intent(Constants.INTENT_K9_SERVICE); + i.putExtra(Constants.INTENT_K9_SERVICE_EXTRA, syncEnable ? "NEVER" : "WHEN_CHECKED"); + context.sendBroadcast(i); + + /* Update our preferences to reflect the new value */ + syncEnable = !syncEnable; + Editor ed = prefs.edit(); + ed.putBoolean(Constants.PREF_WIDGET_STATUS, syncEnable); + ed.commit(); + + /* Notify our widget that the changed has been made */ + i = new Intent(Constants.INTENT_K9DATAKILLER_STATUSCHANGED); + context.sendBroadcast(i); + + /* Tell the user about it */ + String status = syncEnable ? context.getString(R.string.enabled) : context.getString(R.string.disabled); + Toast.makeText(context, context.getString(R.string.toast_text) + " " + status, Toast.LENGTH_LONG).show(); + } + }