diff --git a/.idea/.name b/.idea/.name deleted file mode 100644 index 3a5e301..0000000 --- a/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -superCleanMaster \ No newline at end of file diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser new file mode 100644 index 0000000..18764c0 Binary files /dev/null and b/.idea/caches/build_file_checksums.ser differ diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..30aa626 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index 217af47..0000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml deleted file mode 100644 index e7bedf3..0000000 --- a/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml deleted file mode 100644 index e206d70..0000000 --- a/.idea/encodings.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 0628ced..66e2f6f 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -12,8 +12,8 @@ + - - + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 7d2fd3b..99202cc 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,26 +1,34 @@ - - + + + - - - - - - - - - - - Abstraction issues - - - - - - + - - + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index cbecdf9..68ff8cf 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -7,5 +7,4 @@ - - + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/.idea/scopes/scope_settings.xml b/.idea/scopes/scope_settings.xml deleted file mode 100644 index 922003b..0000000 --- a/.idea/scopes/scope_settings.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 276779e..94a25f7 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,8 +1,6 @@ - - - + \ No newline at end of file diff --git a/README.md b/README.md index 74b1f1d..04c7ea8 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,4 @@ # superCleanMaster -一键清理 开源版,包括内存加速,缓存清理,自启管理,软件管理等。
-[点击下载最新版本](http://www.pgyer.com/superclean) -## 说明 -前一段时间买了一个android 手机,发现竟然没有一键所清理有进程功能! -就下载了市面上的一些一键清理软件。但是使用起来都不是特别爽。 -由于android清理软件不是系统软件。想要深度清理一些手机进程需要手机的root权限。作为一名“高大上”程序猿。怎么能轻易的让别的应用获取手机的root权限呢?于是就有了想写一款开源清理软件的想法。于是就动工了……..n个星期后。基本功能完成了。虽说有些地方还不太满意,待我以后慢慢维护吧。先把他放出来在说。 -## 基本功能 -* 内存加速 -* 缓存清理 -* 自启管理 -* 软件管理 -* 设备信息
-##应用截图 -
-![](https://github.com/joyoyao/superCleanMaster/blob/master/screenshot/home.jpg) -![](https://github.com/joyoyao/superCleanMaster/blob/master/screenshot/1.jpg) -![](https://github.com/joyoyao/superCleanMaster/blob/master/screenshot/2.jpg) -![](https://github.com/joyoyao/superCleanMaster/blob/master/screenshot/3.jpg) +superCleanMaster is deprecated Thanks for all your support! -##Open source projects -* [ButterKnife](http://jakewharton.github.io/butterknife/) -* [changelog](https://github.com/gabrielemariotti/changeloglib) -* [smoothprogressbar](https://github.com/castorflex/SmoothProgressBar) -* [ListViewAnimations](https://github.com/nhaarman/ListViewAnimations) -* [LDrawer](https://github.com/ikimuhendis/LDrawer) -* [CircleProgress](https://github.com/lzyzsd/CircleProgress) -* [TextCounter](https://github.com/premnirmal/TextCounter) -* [WaveView](https://github.com/john990/WaveView) diff --git a/Your Master Cleaner.jks b/Your Master Cleaner.jks new file mode 100644 index 0000000..cd49b28 Binary files /dev/null and b/Your Master Cleaner.jks differ diff --git a/app/app.iml b/app/app.iml index 44beb51..369182c 100644 --- a/app/app.iml +++ b/app/app.iml @@ -1,5 +1,5 @@ - + @@ -11,9 +11,9 @@ - + + + - - - - - - - + + + + + + + + + - + + + + + + + + + + + + + + + - + + + + + + + + - + - + + + + - - - - - - - - + + + + + + + + - - - + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 7ae8b1a..540bae4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,15 +1,20 @@ apply plugin: 'com.android.application' - +android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true android { - compileSdkVersion 21 - buildToolsVersion "21.1.2" - + compileSdkVersion 27 + buildToolsVersion '27.0.3' + lintOptions { + checkReleaseBuilds false + // Or, if you prefer, you can continue to check for errors in release builds, + // but continue the build even when errors are found: + abortOnError false + } defaultConfig { - applicationId "com.yzy.supercleanmaster" - minSdkVersion 14 - targetSdkVersion 21 - versionCode 3 - versionName "1.0" + applicationId "com.balaganovrocks.yourmasterclean" + minSdkVersion 16 + targetSdkVersion 27 + versionCode 4 + versionName "1.1" } buildTypes { release { @@ -17,25 +22,33 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } -} -dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.android.support:appcompat-v7:21.0.3' - compile 'com.jakewharton:butterknife:6.0.0' - compile 'com.nhaarman.listviewanimations:lib-core:3.1.0@aar' - compile 'com.nhaarman.listviewanimations:lib-manipulation:3.1.0@aar' - compile 'com.nhaarman.listviewanimations:lib-core-slh:3.1.0@aar' - compile 'com.umeng.analytics:analytics:latest.integration' - compile 'com.github.gabrielemariotti.changeloglib:library:1.5.2' - compile 'com.hannesdorfmann.smoothprogressbar:library:1.0.0' - compile 'com.github.castorflex.smoothprogressbar:library-circular:1.0.0' - compile project(':library') - compile files('libs/nineoldandroids-2.4.0.jar') - compile files('libs/umeng-update-v2.5.0.jar') - compile files('libs/httpmime-4.1.3.jar') - compile files('libs/umeng_social_sdk.jar') - compile files('libs/SocialSDK_laiwang_1.jar') - compile files('libs/SocialSDK_laiwang_2.jar') - compile files('libs/SocialSDK_QQZone_1.jar') -} + dependencies { + implementation fileTree(include: ['*.jar'], dir: 'libs') + implementation 'com.google.android.gms:play-services-ads:15.0.1' + // Библиотека Appmetrica SDK. + implementation 'com.yandex.android:mobmetricalib:3.2.2' + // Опционально. Библиотека Play Install Referrer. + implementation 'com.android.installreferrer:installreferrer:1.0' + implementation 'com.android.support:appcompat-v7:27.0.0' + implementation "com.android.support:support-compat:27.0.0" + implementation 'com.jakewharton:butterknife:6.0.0' + implementation 'com.nhaarman.listviewanimations:lib-core:3.1.0@aar' + implementation 'com.nhaarman.listviewanimations:lib-manipulation:3.1.0@aar' + implementation 'com.nhaarman.listviewanimations:lib-core-slh:3.1.0@aar' + implementation 'com.umeng.analytics:analytics:latest.integration' + implementation 'com.github.gabrielemariotti.changeloglib:library:1.5.2' + implementation 'com.hannesdorfmann.smoothprogressbar:library:1.0.0' + implementation 'com.github.castorflex.smoothprogressbar:library-circular:1.0.0' + implementation project(':library') + implementation files('libs/nineoldandroids-2.4.0.jar') + implementation files('libs/umeng-update-v2.5.0.jar') + implementation files('libs/httpmime-4.1.3.jar') + implementation files('libs/umeng_social_sdk.jar') + implementation files('libs/SocialSDK_laiwang_1.jar') + implementation files('libs/SocialSDK_laiwang_2.jar') + implementation files('libs/SocialSDK_QQZone_1.jar') + implementation 'com.android.support:support-v4:27.0.0' + implementation 'com.android.support.constraint:constraint-layout:1.1.3' + } +} \ No newline at end of file diff --git a/app/release/output.json b/app/release/output.json new file mode 100644 index 0000000..c86f282 --- /dev/null +++ b/app/release/output.json @@ -0,0 +1 @@ +[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":4,"versionName":"1.1","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/androidTest/java/com/yzy/supercleanmaster/ApplicationTest.java b/app/src/androidTest/java/com/balaganovrocks/yourmasterclean/ApplicationTest.java similarity index 87% rename from app/src/androidTest/java/com/yzy/supercleanmaster/ApplicationTest.java rename to app/src/androidTest/java/com/balaganovrocks/yourmasterclean/ApplicationTest.java index a10a749..0b5978b 100644 --- a/app/src/androidTest/java/com/yzy/supercleanmaster/ApplicationTest.java +++ b/app/src/androidTest/java/com/balaganovrocks/yourmasterclean/ApplicationTest.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster; +package com.balaganovrocks.yourmasterclean; import android.app.Application; import android.test.ApplicationTestCase; diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1e37e57..ec73a1d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,14 +1,18 @@ + package="com.balaganovrocks.yourmasterclean"> + + + + @@ -27,13 +31,13 @@ android:smallScreens="true" /> @@ -44,64 +48,81 @@ + android:theme="@style/MyAppTheme" /> + + - + + android:name="com.balaganovrocks.yourmasterclean.ui.MemoryCleanActivity" + android:label="@string/app_name" + android:theme="@style/MyTranslucentAppTheme" /> + + android:name="com.balaganovrocks.yourmasterclean.ui.settings" + android:label="Настройки" + android:theme="@style/MyTranslucentAppTheme" /> + + + android:name="com.balaganovrocks.yourmasterclean.ui.RubbishCleanActivity" + android:label="@string/app_name" + android:theme="@style/MyTranslucentAppTheme" /> + + + android:theme="@style/MyTranslucentAppTheme" /> + android:name="com.balaganovrocks.yourmasterclean.base.FragmentContainerActivity" + android:theme="@style/MyTranslucentAppTheme" /> + android:name="com.balaganovrocks.yourmasterclean.ui.AboutActivity" + android:theme="@style/MyTranslucentAppTheme" /> - + @@ -113,6 +134,9 @@ + mlistAppInfo; + // LayoutInflater infater = null; + // private Context mContext; + // public static List clearIds; + // private Handler mHandler; + + // public AutoStartAdapter(Context context, List apps, Handler mHandler) { + // infater = LayoutInflater.from(context); + // mContext = context; + // clearIds = new ArrayList(); + // this.mlistAppInfo = apps; + // this.mHandler = mHandler; + // } + + // @Override + // public int getCount() { + // // TODO Auto-generated method stub + // return mlistAppInfo.size(); + // } + + // @Override + // public Object getItem(int position) { + // // TODO Auto-generated method stub + // return mlistAppInfo.get(position); + // } + + // @Override + // public long getItemId(int position) { + // // TODO Auto-generated method stub + // return position; + // } + + // @Override + // public View getView(int position, View convertView, ViewGroup parent) { + // ViewHolder holder = null; + // if (convertView == null) { + // convertView = infater.inflate(R.layout.listview_auto_start, + // null); + // holder = new ViewHolder(); + // holder.appIcon = (ImageView) convertView + // .findViewById(R.id.app_icon); + // holder.appName = (TextView) convertView + // .findViewById(R.id.app_name); + // holder.size = (TextView) convertView + // .findViewById(R.id.app_size); + // holder.disable_switch = (TextView) convertView + // .findViewById(R.id.disable_switch); + + // convertView.setTag(holder); + // } else { + // holder = (ViewHolder) convertView.getTag(); + // } + // final AutoStartInfo item = (AutoStartInfo) getItem(position); + // if (item != null) { + // holder.appIcon.setImageDrawable(item.getIcon()); + // holder.appName.setText(item.getLabel()); + // if (item.isEnable()) { + // holder.disable_switch.setBackgroundResource(R.drawable.switch_on); + // holder.disable_switch.setText("Оказалось"); + // } else { + // holder.disable_switch.setBackgroundResource(R.drawable.switch_off); + // holder.disable_switch.setText("Это было запрещено"); + // } + // // holder.size.setText(Formatter.formatShortFileSize(mContext, item.getCacheSize())); + + // holder.disable_switch.setOnClickListener(new View.OnClickListener() { + // @Override + // public void onClick(View v) { + + + // if (ShellUtils.checkRootPermission()) { + + // if (item.isEnable()) { + + + // diasableApp(item); + // } else { + + // enableApp(item); + // } + + // } else { + + // T.showLong(mContext, "Эта функция должна получить разрешение системного корня, щелкнуть, чтобы разрешить доступ к привилегии root"); + + // } + + // } + // }); + // holder.packageName = item.getPackageName(); + // } + + + // return convertView; + // } + + // private void diasableApp(AutoStartInfo item) { + // String packageReceiverList[] = item.getPackageReceiver().toString().split(";"); + + // List mSring = new ArrayList<>(); + // for (int j = 0; j < packageReceiverList.length; j++) { + // String cmd = "pm disable " + packageReceiverList[j]; + // //部分receiver包含$符号,需要做进一步处理,用"$"替换掉$ + // cmd = cmd.replace("$", "\"" + "$" + "\""); + // //执行命令 + // mSring.add(cmd); + + // } + // ShellUtils.CommandResult mCommandResult = ShellUtils.execCommand(mSring, true, true); + + // if (mCommandResult.result == 0) { + // T.showLong(mContext, item.getLabel() + "Это было запрещено"); + // item.setEnable(false); + // notifyDataSetChanged(); + // if (mHandler != null) { + // mHandler.sendEmptyMessage(AutoStartFragment.REFRESH_BT); + // } + // } else { + // T.showLong(mContext, item.getLabel() + "Запрет отказа"); + // } + + // // T.showLong(mContext, mCommandResult.result + "" + mCommandResult.errorMsg + mCommandResult.successMsg); + // } + + // private void enableApp(AutoStartInfo item) { + // String packageReceiverList[] = item.getPackageReceiver().toString().split(";"); + + // List mSring = new ArrayList<>(); + // for (int j = 0; j < packageReceiverList.length; j++) { + // String cmd = "pm enable " + packageReceiverList[j]; + // //部分receiver包含$符号,需要做进一步处理,用"$"替换掉$ + // cmd = cmd.replace("$", "\"" + "$" + "\""); + // //执行命令 + // mSring.add(cmd); + + // } + // ShellUtils.CommandResult mCommandResult = ShellUtils.execCommand(mSring, true, true); + + // if (mCommandResult.result == 0) { + // T.showLong(mContext, item.getLabel() + "Оказалось"); + // item.setEnable(true); + // notifyDataSetChanged(); + // if (mHandler != null) { + // mHandler.sendEmptyMessage(AutoStartFragment.REFRESH_BT); + // } + // } else { + // T.showLong(mContext, item.getLabel() + "Не удалось открыть"); + // } + // // T.showLong(mContext, mCommandResult.result + "" + mCommandResult.errorMsg + mCommandResult.successMsg); + // } + + // class ViewHolder { + // ImageView appIcon; + // TextView appName; + // TextView size; + // TextView disable_switch; + + // String packageName; + // } + +} diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/adapter/BatterySavingAdapter.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/adapter/BatterySavingAdapter.java new file mode 100644 index 0000000..54280af --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/adapter/BatterySavingAdapter.java @@ -0,0 +1,114 @@ +package com.balaganovrocks.yourmasterclean.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.RadioButton; +import android.widget.RelativeLayout; +import android.widget.TextView; + +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.bean.AppProcessInfo; +import com.balaganovrocks.yourmasterclean.utils.StorageUtil; + +import java.util.ArrayList; +import java.util.List; + +public class BatterySavingAdapter extends BaseAdapter { + + public List mlistAppInfo; + LayoutInflater infater = null; + private Context mContext; + public static List clearIds; + + public BatterySavingAdapter(Context context, List apps) { + infater = LayoutInflater.from(context); + mContext = context; + clearIds = new ArrayList(); + this.mlistAppInfo = apps; + } + + @Override + public int getCount() { + // TODO Auto-generated method stub + return mlistAppInfo.size(); + } + + @Override + public Object getItem(int position) { + // TODO Auto-generated method stub + return mlistAppInfo.get(position); + } + + @Override + public long getItemId(int position) { + // TODO Auto-generated method stub + return position; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ViewHolder holder = null; + if (convertView == null) { + convertView = infater.inflate(R.layout.listview_battery_saving, + null); + holder = new ViewHolder(); + holder.appIcon = (ImageView) convertView + .findViewById(R.id.image); + holder.appName = (TextView) convertView + .findViewById(R.id.name); + // holder.memory = (TextView) convertView + // .findViewById(R.id.memory); + + holder.cb = (RadioButton) convertView + .findViewById(R.id.choice_radio); + convertView.setTag(holder); + } else { + holder = (ViewHolder) convertView.getTag(); + } + final AppProcessInfo appInfo = (AppProcessInfo) getItem(position); + holder.appIcon.setImageDrawable(appInfo.icon); + holder.appName.setText(appInfo.appName); +// holder.memory.setText(StorageUtil.convertStorage(appInfo.memory)); + if (appInfo.checked) { + holder.cb.setChecked(true); + } else { + holder.cb.setChecked(false); + } + holder.cb.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (appInfo.checked) { + appInfo.checked = false; + } else { + appInfo.checked = true; + } + notifyDataSetChanged(); + } + }); + + return convertView; + } + + class ViewHolder { + ImageView appIcon; + TextView appName; + TextView memory; + TextView tvProcessMemSize; + RelativeLayout cb_rl; + RadioButton cb; + + public RadioButton getCb() { + return cb; + } + + public void setCb(RadioButton cb) { + this.cb = cb; + } + } + +} + diff --git a/app/src/main/java/com/yzy/supercleanmaster/adapter/ClearMemoryAdapter.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/adapter/ClearMemoryAdapter.java similarity index 93% rename from app/src/main/java/com/yzy/supercleanmaster/adapter/ClearMemoryAdapter.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/adapter/ClearMemoryAdapter.java index 473fefc..ca49eb8 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/adapter/ClearMemoryAdapter.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/adapter/ClearMemoryAdapter.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.adapter; +package com.balaganovrocks.yourmasterclean.adapter; import android.content.Context; import android.view.LayoutInflater; @@ -10,9 +10,9 @@ import android.widget.RelativeLayout; import android.widget.TextView; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.bean.AppProcessInfo; -import com.yzy.supercleanmaster.utils.StorageUtil; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.bean.AppProcessInfo; +import com.balaganovrocks.yourmasterclean.utils.StorageUtil; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/com/yzy/supercleanmaster/adapter/RublishMemoryAdapter.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/adapter/RublishMemoryAdapter.java similarity index 95% rename from app/src/main/java/com/yzy/supercleanmaster/adapter/RublishMemoryAdapter.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/adapter/RublishMemoryAdapter.java index f1db199..5a34e31 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/adapter/RublishMemoryAdapter.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/adapter/RublishMemoryAdapter.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.adapter; +package com.balaganovrocks.yourmasterclean.adapter; import android.content.Context; import android.content.Intent; @@ -12,8 +12,8 @@ import android.widget.ImageView; import android.widget.TextView; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.model.CacheListItem; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.model.CacheListItem; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/com/yzy/supercleanmaster/adapter/SoftwareAdapter.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/adapter/SoftwareAdapter.java similarity index 92% rename from app/src/main/java/com/yzy/supercleanmaster/adapter/SoftwareAdapter.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/adapter/SoftwareAdapter.java index 2a5259c..5d990d0 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/adapter/SoftwareAdapter.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/adapter/SoftwareAdapter.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.adapter; +package com.balaganovrocks.yourmasterclean.adapter; import android.content.Context; import android.content.Intent; @@ -10,10 +10,10 @@ import android.widget.ImageView; import android.widget.TextView; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.model.AppInfo; -import com.yzy.supercleanmaster.utils.StorageUtil; -import com.yzy.supercleanmaster.views.RippleView; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.model.AppInfo; +import com.balaganovrocks.yourmasterclean.utils.StorageUtil; +import com.balaganovrocks.yourmasterclean.views.RippleView; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/com/yzy/supercleanmaster/base/ActivityTack.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/base/ActivityTack.java similarity index 97% rename from app/src/main/java/com/yzy/supercleanmaster/base/ActivityTack.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/base/ActivityTack.java index cb69242..9b6d156 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/base/ActivityTack.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/base/ActivityTack.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.base; +package com.balaganovrocks.yourmasterclean.base; import android.app.Activity; import android.content.Context; diff --git a/app/src/main/java/com/yzy/supercleanmaster/base/BaseActivity.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/base/BaseActivity.java similarity index 95% rename from app/src/main/java/com/yzy/supercleanmaster/base/BaseActivity.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/base/BaseActivity.java index 98e9f18..97c5887 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/base/BaseActivity.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/base/BaseActivity.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.base; +package com.balaganovrocks.yourmasterclean.base; import android.content.Context; import android.content.Intent; @@ -9,8 +9,8 @@ import android.widget.TextView; import com.umeng.analytics.MobclickAgent; -import com.yzy.supercleanmaster.dialogs.ProgressDialogFragment; -import com.yzy.supercleanmaster.utils.T; +import com.balaganovrocks.yourmasterclean.dialogs.ProgressDialogFragment; +import com.balaganovrocks.yourmasterclean.utils.T; import butterknife.ButterKnife; diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/base/BaseApplication.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/base/BaseApplication.java new file mode 100644 index 0000000..0387ff2 --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/base/BaseApplication.java @@ -0,0 +1,39 @@ +package com.balaganovrocks.yourmasterclean.base; + +import android.app.Application; +import android.content.Context; + +public class BaseApplication extends Application { + // private static BaseApplication mInstance; +// +// + // private Context mContext; +// +// + // // private Gson mG; + // public static BaseApplication getInstance() { + // return mInstance; + // } +// + // @Override + // public void onCreate() { + // super.onCreate(); + // mInstance = this; +// +// + // MyCrashHandler myCrashHandler = MyCrashHandler.getInstance(); + // myCrashHandler.init(getApplicationContext()); + // Thread.currentThread().setUncaughtExceptionHandler(myCrashHandler); + // } +// +// + // @Override + // public void onLowMemory() { + // // TODO Auto-generated method stub +// + // android.os.Process.killProcess(android.os.Process.myPid()); + // super.onLowMemory(); +// + // } +// +} diff --git a/app/src/main/java/com/yzy/supercleanmaster/base/BaseFragment.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/base/BaseFragment.java similarity index 92% rename from app/src/main/java/com/yzy/supercleanmaster/base/BaseFragment.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/base/BaseFragment.java index c2d4c2d..b117d8d 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/base/BaseFragment.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/base/BaseFragment.java @@ -1,11 +1,11 @@ -package com.yzy.supercleanmaster.base; +package com.balaganovrocks.yourmasterclean.base; import android.annotation.SuppressLint; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; -import com.yzy.supercleanmaster.utils.T; +import com.balaganovrocks.yourmasterclean.utils.T; @SuppressLint("NewApi") diff --git a/app/src/main/java/com/yzy/supercleanmaster/base/BaseSwipeBackActivity.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/base/BaseSwipeBackActivity.java similarity index 78% rename from app/src/main/java/com/yzy/supercleanmaster/base/BaseSwipeBackActivity.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/base/BaseSwipeBackActivity.java index b96cef3..ca6845e 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/base/BaseSwipeBackActivity.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/base/BaseSwipeBackActivity.java @@ -1,12 +1,13 @@ -package com.yzy.supercleanmaster.base; +package com.balaganovrocks.yourmasterclean.base; import android.os.Bundle; import android.view.View; -import com.yzy.supercleanmaster.swipeback.SwipeBackActivityBase; -import com.yzy.supercleanmaster.swipeback.SwipeBackActivityHelper; -import com.yzy.supercleanmaster.swipeback.SwipeBackLayout; -import com.yzy.supercleanmaster.swipeback.Utils; +import com.balaganovrocks.yourmasterclean.swipeback.SwipeBackActivityBase; +import com.balaganovrocks.yourmasterclean.swipeback.SwipeBackActivityHelper; +import com.balaganovrocks.yourmasterclean.swipeback.SwipeBackLayout; +import com.balaganovrocks.yourmasterclean.swipeback.Utils; + public abstract class BaseSwipeBackActivity extends BaseActivity implements SwipeBackActivityBase { diff --git a/app/src/main/java/com/yzy/supercleanmaster/base/FragmentContainerActivity.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/base/FragmentContainerActivity.java similarity index 91% rename from app/src/main/java/com/yzy/supercleanmaster/base/FragmentContainerActivity.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/base/FragmentContainerActivity.java index 2f8d4df..6cf6c6e 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/base/FragmentContainerActivity.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/base/FragmentContainerActivity.java @@ -1,14 +1,15 @@ -package com.yzy.supercleanmaster.base; +package com.balaganovrocks.yourmasterclean.base; import android.app.Activity; import android.app.Fragment; import android.content.Intent; +import android.content.pm.ActivityInfo; import android.os.Bundle; import android.text.TextUtils; import android.view.MenuItem; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.utils.FragmentArgs; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.utils.FragmentArgs; import java.lang.reflect.Method; @@ -75,6 +76,7 @@ protected void onCreate(Bundle savedInstanceState) { finish(); return; } + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } super.onCreate(savedInstanceState); diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/base/MyCrashHandler.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/base/MyCrashHandler.java new file mode 100644 index 0000000..c89c18d --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/base/MyCrashHandler.java @@ -0,0 +1,96 @@ +package com.balaganovrocks.yourmasterclean.base; + +import android.content.Context; + +import java.lang.Thread.UncaughtExceptionHandler; + +//public class MyCrashHandler implements UncaughtExceptionHandler { +// @Override +// public void uncaughtException(Thread thread, Throwable throwable) { + +// } +// // 保证MyCrashHandler只有一个实例 +// // 2.提供一个静态的程序变量 +// private static MyCrashHandler myCrashHandler; +// private Context context; +// +// // 1.私有化构造方法 +// private MyCrashHandler() { +// +// } +// +// // 3.暴露出来一个静态的方法 获取myCrashHandler +// +// public static synchronized MyCrashHandler getInstance() { +// if (myCrashHandler == null) { +// myCrashHandler = new MyCrashHandler(); +// } +// return myCrashHandler; +// } +// +// public void init(Context context) { +// this.context = context; +// } +// +// // 程序发生异常的时候调用的方法 +// // try catch +// +// public void uncaughtException(Thread thread, Throwable ex) { +// // System.out.println("出现错误啦 哈哈"); +// ex.printStackTrace(); +//// StringBuilder sb = new StringBuilder(); +//// // 1.获取当前应用程序的版本号. +//// PackageManager pm = context.getPackageManager(); +//// try { +//// PackageInfo packinfo = pm.getPackageInfo(context.getPackageName(), +//// 0); +//// sb.append("程序的版本号为" + packinfo.versionName); +//// sb.append("\n"); +//// +//// // 2.获取手机的硬件信息. +//// Field[] fields = Build.class.getDeclaredFields(); +//// for (int i = 0; i < fields.length; i++) { +//// // 暴力反射,获取私有的字段信息 +//// fields[i].setAccessible(true); +//// String name = fields[i].getName(); +//// sb.append(name + " = "); +//// String value = fields[i].get(null).toString(); +//// sb.append(value); +//// sb.append("\n"); +//// } +//// // 3.获取程序错误的堆栈信息 . +//// StringWriter writer = new StringWriter(); +//// PrintWriter printWriter = new PrintWriter(writer); +//// ex.printStackTrace(printWriter); +//// +//// String result = writer.toString(); +//// sb.append(result); +//// String time = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(new Date()); +//// String name ="xizi"+time+".txt"; +//// String fileName=Environment.getExternalStorageDirectory()+File.separator+"xz_app"+File.separator+"log"; +//// +//// File file1 =new File(fileName); +//// if(!file1.exists()){ +//// file1.mkdir(); +//// } +//// File file=new File(fileName,name); +//// if(!file.exists()){ +//// file.createNewFile(); +//// } +//// // File file = new File(Environment.getExternalStorageDirectory(),"error.log"); +//// FileOutputStream fos = new FileOutputStream(file); +//// fos.write(sb.toString().getBytes()); +//// fos.close(); +//// +//// +//// // 4.把错误信息 提交到服务器 +//// +//// } catch (Exception e) { +//// e.printStackTrace(); +//// } +// +// // 完成自杀的操作 +// android.os.Process.killProcess(android.os.Process.myPid()); +// } + +//} diff --git a/app/src/main/java/com/yzy/supercleanmaster/bean/AppProcessInfo.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/bean/AppProcessInfo.java similarity index 98% rename from app/src/main/java/com/yzy/supercleanmaster/bean/AppProcessInfo.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/bean/AppProcessInfo.java index 9a7a9ab..837e00a 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/bean/AppProcessInfo.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/bean/AppProcessInfo.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.yzy.supercleanmaster.bean; +package com.balaganovrocks.yourmasterclean.bean; import android.graphics.drawable.Drawable; diff --git a/app/src/main/java/com/yzy/supercleanmaster/bean/ProcessInfo.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/bean/ProcessInfo.java similarity index 96% rename from app/src/main/java/com/yzy/supercleanmaster/bean/ProcessInfo.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/bean/ProcessInfo.java index 2e9480e..ca3d39b 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/bean/ProcessInfo.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/bean/ProcessInfo.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.yzy.supercleanmaster.bean; +package com.balaganovrocks.yourmasterclean.bean; diff --git a/app/src/main/java/com/yzy/supercleanmaster/dialogs/AlertDialogFragment.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/dialogs/AlertDialogFragment.java similarity index 93% rename from app/src/main/java/com/yzy/supercleanmaster/dialogs/AlertDialogFragment.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/dialogs/AlertDialogFragment.java index 49c9131..6e37c4f 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/dialogs/AlertDialogFragment.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/dialogs/AlertDialogFragment.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.dialogs; +package com.balaganovrocks.yourmasterclean.dialogs; import android.app.AlertDialog; import android.app.Dialog; @@ -66,7 +66,7 @@ public Dialog onCreateDialog(Bundle savedInstanceState) { } if(mOnClickListener != null){ - builder.setPositiveButton("确认", + builder.setPositiveButton("подтвердить", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { if(mOnClickListener != null){ @@ -75,7 +75,7 @@ public void onClick(DialogInterface dialog, int whichButton) { } } ); - builder.setNegativeButton("取消", + builder.setNegativeButton("отменен", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { if(mOnClickListener != null){ diff --git a/app/src/main/java/com/yzy/supercleanmaster/dialogs/DialogUtil.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/dialogs/DialogUtil.java similarity index 98% rename from app/src/main/java/com/yzy/supercleanmaster/dialogs/DialogUtil.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/dialogs/DialogUtil.java index 82036b5..e014143 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/dialogs/DialogUtil.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/dialogs/DialogUtil.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.yzy.supercleanmaster.dialogs; +package com.balaganovrocks.yourmasterclean.dialogs; import android.app.Fragment; import android.app.FragmentTransaction; @@ -21,7 +21,7 @@ import android.support.v4.app.FragmentActivity; import android.view.View; -import com.yzy.supercleanmaster.utils.ViewUtil; +import com.balaganovrocks.yourmasterclean.utils.ViewUtil; public class DialogUtil { diff --git a/app/src/main/java/com/yzy/supercleanmaster/dialogs/ProgressDialogFragment.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/dialogs/ProgressDialogFragment.java similarity index 96% rename from app/src/main/java/com/yzy/supercleanmaster/dialogs/ProgressDialogFragment.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/dialogs/ProgressDialogFragment.java index b4793e3..2805963 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/dialogs/ProgressDialogFragment.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/dialogs/ProgressDialogFragment.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.dialogs; +package com.balaganovrocks.yourmasterclean.dialogs; import android.app.AlertDialog; import android.app.Dialog; diff --git a/app/src/main/java/com/yzy/supercleanmaster/dialogs/SampleFragment.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/dialogs/SampleFragment.java similarity index 93% rename from app/src/main/java/com/yzy/supercleanmaster/dialogs/SampleFragment.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/dialogs/SampleFragment.java index 08d945f..b031a6e 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/dialogs/SampleFragment.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/dialogs/SampleFragment.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.dialogs; +package com.balaganovrocks.yourmasterclean.dialogs; import android.app.DialogFragment; import android.os.Bundle; diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/engine/CacheInfoProvider.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/engine/CacheInfoProvider.java new file mode 100644 index 0000000..7b9a0e4 --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/engine/CacheInfoProvider.java @@ -0,0 +1,130 @@ +package com.balaganovrocks.yourmasterclean.engine; + +import android.content.Context; +import android.content.pm.ApplicationInfo; +import android.content.pm.IPackageStatsObserver; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageStats; +import android.graphics.drawable.Drawable; +import android.os.Handler; +import android.os.RemoteException; + +import com.balaganovrocks.yourmasterclean.model.CacheInfo; +import com.balaganovrocks.yourmasterclean.utils.TextFormater; + +import java.lang.reflect.Method; +import java.util.List; +import java.util.Vector; + + +public class CacheInfoProvider +{ +// private Handler handler; +// private PackageManager packageManager; +// private Vector cacheInfos; +// private int size = 0; +// +// public CacheInfoProvider(Handler handler, Context context) +// { +// // 拿到一个包管理器 +// packageManager = context.getPackageManager(); +// this.handler = handler; +// cacheInfos = new Vector(); +// } +// +// public void initCacheInfos() +// { +// // 获取到所有安装了的应用程序的信息,包括那些卸载了的,但没有清除数据的应用程序 +// List packageInfos = packageManager +// .getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES); +// size = packageInfos.size(); +// for (int i = 0; i < size; i++) +// { +// PackageInfo packageInfo = packageInfos.get(i); +// CacheInfo cacheInfo = new CacheInfo(); +// // 拿到包名 +// String packageName = packageInfo.packageName; +// cacheInfo.setPackageName(packageName); +// // 拿到应用程序的信息 +// ApplicationInfo applicationInfo = packageInfo.applicationInfo; +// // 拿到应用程序的程序名 +// String name = applicationInfo.loadLabel(packageManager).toString(); +// cacheInfo.setName(name); +// // 拿到应用程序的图标 +// Drawable icon = applicationInfo.loadIcon(packageManager); +// cacheInfo.setIcon(icon); +// +// initDataSize(cacheInfo, i); +// } +// } +// +// /** +// * 通过AIDL的方法来获取到应用的缓存信息,getPackageSizeInfo是PackageManager里面的一个私有方法来的 +// * 我们通过反射就可以调用到它的了,但是这个方法里面会传递一个IPackageStatsObserver.Stub的对象 +// * 里面就可能通过AIDL来获取我们想要的信息了 +// * +// * 因为这样的调用是异步的,所以当我们完成获取完这些信息之后,我们就通过handler来发送一个消息 +// * 来通知我们的应用,通过getCacheInfos来获取到我们的Vector +// * +// * 为什么要用Vector呢,因为下面的方法是异步的,也就是有可能是多线程操作,所以我们就用了线程安全的Vector +// * +// * @param cacheInfo +// * @param position +// */ +// private void initDataSize(final CacheInfo cacheInfo, final int position) +// { +// try +// { +// Method method = PackageManager.class.getMethod( +// "getPackageSizeInfo", new Class[] { String.class, +// IPackageStatsObserver.class }); +// method.invoke(packageManager, +// new Object[] { cacheInfo.getPackageName(), +// new IPackageStatsObserver.Stub() +// { +// @Override +// public void onGetStatsCompleted( +// PackageStats pStats, boolean succeeded) +// throws RemoteException +// { +// System.out.println("onGetStatsCompleted" + position); +// long cacheSize = pStats.cacheSize; +// long codeSize = pStats.codeSize; +// long dataSize = pStats.dataSize; +// +// cacheInfo.setCacheSize(TextFormater +// .dataSizeFormat(cacheSize)); +// cacheInfo.setCodeSize(TextFormater +// .dataSizeFormat(codeSize)); +// cacheInfo.setDataSize(TextFormater +// .dataSizeFormat(dataSize)); +// +// cacheInfos.add(cacheInfo); +// +// if (position == (size - 1)) +// { +// // 当完全获取完信息之后,发送一个成功的消息 +// // 1对应的就是CacheClearActivity里面的FINISH +// handler.sendEmptyMessage(1); +// } +// } +// } }); +// } +// catch (Exception e) +// { +// e.printStackTrace(); +// } +// } +// +// public Vector getCacheInfos() +// { +// return cacheInfos; +// } +// +// public void setCacheInfos(Vector cacheInfos) +// { +// this.cacheInfos = cacheInfos; +// } + +} diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/AutoStartFragment.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/AutoStartFragment.java new file mode 100644 index 0000000..70c2ca8 --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/AutoStartFragment.java @@ -0,0 +1,205 @@ +package com.balaganovrocks.yourmasterclean.fragment; + +import android.content.Context; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.support.annotation.Nullable; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.TextView; + +import com.balaganovrocks.yourmasterclean.base.BaseFragment; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.adapter.AutoStartAdapter; +import com.balaganovrocks.yourmasterclean.base.BaseFragment; +import com.balaganovrocks.yourmasterclean.model.AutoStartInfo; +import com.balaganovrocks.yourmasterclean.utils.BootStartUtils; +import com.balaganovrocks.yourmasterclean.utils.RootUtil; +import com.balaganovrocks.yourmasterclean.utils.ShellUtils; +import com.balaganovrocks.yourmasterclean.utils.T; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.ButterKnife; +import butterknife.InjectView; +import butterknife.OnClick; + + +public class AutoStartFragment extends BaseFragment { + + +// Context mContext; +// public static final int REFRESH_BT = 111; +// private static final String ARG_POSITION = "position"; +// private int position; // 0:普通软件,2 系统软件 +// AutoStartAdapter mAutoStartAdapter; + +// @InjectView(R.id.listview) +// ListView listview; + +// @InjectView(R.id.bottom_lin) +// LinearLayout bottom_lin; + +// @InjectView(R.id.disable_button) +// Button disableButton; +// @InjectView(R.id.topText) +// TextView topText; +// List isSystemAuto = null; +// List noSystemAuto = null; +// private int canDisableCom; + + +// private Handler mHandler = new Handler() { + + +// public void handleMessage(Message msg) { +// switch (msg.what) { +// case REFRESH_BT: +// refeshButoom(); + +// break; +// } +// } +// }; + +// @Override +// public void onCreate(Bundle savedInstanceState) { +// super.onCreate(savedInstanceState); + +// position = getArguments().getInt(ARG_POSITION); +// } + +// @Override +// public View onCreateView(LayoutInflater inflater, +// @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { +// // TODO Auto-generated method stub + +// View view = inflater.inflate(R.layout.fragment_auto_start, container, false); +// ButterKnife.inject(this, view); +// mContext = getActivity(); + +// return view; +// } + + +// @Override +// public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { +// super.onViewCreated(view, savedInstanceState); + +// fillData(); +// } + +// @OnClick(R.id.disable_button) +// public void onClickDisable() { +// RootUtil.preparezlsu(mContext); +// disableAPP(); + +// } + +// private void disableAPP() { +// List mSring = new ArrayList<>(); +// for (AutoStartInfo auto : noSystemAuto) { +// if (auto.isEnable()) { +// String packageReceiverList[] = auto.getPackageReceiver().toString().split(";"); +// for (int j = 0; j < packageReceiverList.length; j++) { +// String cmd = "pm disable " + packageReceiverList[j]; +// //部分receiver包含$符号,需要做进一步处理,用"$"替换掉$ +// cmd = cmd.replace("$", "\"" + "$" + "\""); +// //执行命令 +// mSring.add(cmd); +// } +// } +// } + +// ShellUtils.CommandResult mCommandResult = ShellUtils.execCommand(mSring, true, true); +// if (mCommandResult.result == 0) { +// T.showLong(mContext, +// "Приложение полностью запрещено"); +// for (AutoStartInfo auto : noSystemAuto) { +// if (auto.isEnable()) { +// auto.setEnable(false); +// } +// } +// mAutoStartAdapter.notifyDataSetChanged(); +// refeshButoom(); +// } else { +// T.showLong(mContext, +// "Эта функция должна получить разрешение системного корня, разрешить root-доступ."); +// } +// } + + +// private void fillData() { + +// if (position == 0) { +// topText.setText("\n" + +// "Следующему программному обеспечению запрещается самозапуск,Улучшение скорости движения"); + +// } else { +// topText.setText("\n" + +// "Запрещено запускаемое программное обеспечение для системного ядра,\n" + +// "Будет влиять на нормальное использование телефона,Пожалуйста, будьте осторожны"); + +// } + +// List mAutoStartInfo = BootStartUtils.fetchAutoApps(mContext); + +// // List mAutoStartInfo = BootStartUtils.fetchInstalledApps(mContext); +// noSystemAuto = new ArrayList<>(); +// isSystemAuto = new ArrayList<>(); + +// for (AutoStartInfo a : mAutoStartInfo) { +// if (a.isSystem()) { + +// isSystemAuto.add(a); +// } else { +// noSystemAuto.add(a); +// } +// } + +// if (position == 0) { +// mAutoStartAdapter = new AutoStartAdapter(mContext, noSystemAuto, mHandler); +// listview.setAdapter(mAutoStartAdapter); +// refeshButoom(); +// } else { + +// mAutoStartAdapter = new AutoStartAdapter(mContext, isSystemAuto, null); +// listview.setAdapter(mAutoStartAdapter); + +// } + + +// } + +// private void refeshButoom() { +// if (position == 0) { +// canDisableCom = 0; +// for (AutoStartInfo autoS : noSystemAuto) { +// if (autoS.isEnable()) { +// canDisableCom++; +// } +// } +// if (canDisableCom > 0) { +// bottom_lin.setVisibility(View.VISIBLE); +// disableButton.setText("Может быть оптимизирована" + canDisableCom + "\n" + +// "раздел"); +// } else { +// bottom_lin.setVisibility(View.GONE); +// } +// } + +// } + +// @Override +// public void onDestroyView() { +// super.onDestroyView(); +// ButterKnife.reset(this); +// } + +} diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/DeciveInfoFragment.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/DeciveInfoFragment.java new file mode 100644 index 0000000..d25edba --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/DeciveInfoFragment.java @@ -0,0 +1,12 @@ +package com.balaganovrocks.yourmasterclean.fragment; + + + +import com.balaganovrocks.yourmasterclean.base.BaseFragment; + + + +public class DeciveInfoFragment extends BaseFragment { + + +} diff --git a/app/src/main/java/com/yzy/supercleanmaster/fragment/MainFragment.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/MainFragment.java similarity index 50% rename from app/src/main/java/com/yzy/supercleanmaster/fragment/MainFragment.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/MainFragment.java index 6d9697b..f633522 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/fragment/MainFragment.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/MainFragment.java @@ -1,25 +1,43 @@ -package com.yzy.supercleanmaster.fragment; +package com.balaganovrocks.yourmasterclean.fragment; +import android.app.ActivityManager; +import android.app.PendingIntent; import android.content.Context; +import android.content.Intent; import android.os.Bundle; import android.support.annotation.Nullable; +import android.support.v4.app.NotificationCompat; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.Button; +import android.widget.RemoteViews; import android.widget.TextView; +import com.balaganovrocks.yourmasterclean.base.BaseFragment; +import com.balaganovrocks.yourmasterclean.ui.MainActivity; +import com.balaganovrocks.yourmasterclean.ui.MemoryCleanActivity; +import com.balaganovrocks.yourmasterclean.ui.RubbishCleanActivity; +import com.balaganovrocks.yourmasterclean.ui.SoftwareManageActivity; import com.umeng.update.UmengUpdateAgent; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.base.BaseFragment; -import com.yzy.supercleanmaster.model.SDCardInfo; -import com.yzy.supercleanmaster.ui.AutoStartManageActivity; -import com.yzy.supercleanmaster.ui.MemoryCleanActivity; -import com.yzy.supercleanmaster.ui.RubbishCleanActivity; -import com.yzy.supercleanmaster.ui.SoftwareManageActivity; -import com.yzy.supercleanmaster.utils.AppUtil; -import com.yzy.supercleanmaster.utils.StorageUtil; -import com.yzy.supercleanmaster.widget.circleprogress.ArcProgress; - +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.base.BaseFragment; +import com.balaganovrocks.yourmasterclean.model.SDCardInfo; +import com.balaganovrocks.yourmasterclean.ui.AutoStartManageActivity; +import com.balaganovrocks.yourmasterclean.ui.BatterySavingActivity; +import com.balaganovrocks.yourmasterclean.ui.MainActivity; +import com.balaganovrocks.yourmasterclean.ui.MemoryCleanActivity; +import com.balaganovrocks.yourmasterclean.ui.RubbishCleanActivity; +import com.balaganovrocks.yourmasterclean.ui.ShortCutActivity; +import com.balaganovrocks.yourmasterclean.ui.SoftwareManageActivity; +import com.balaganovrocks.yourmasterclean.ui.settings; +import com.balaganovrocks.yourmasterclean.utils.AppUtil; +import com.balaganovrocks.yourmasterclean.utils.StorageUtil; +import com.balaganovrocks.yourmasterclean.widget.circleprogress.ArcProgress; +import com.balaganovrocks.yourmasterclean.ui.Notifications; + +import java.util.List; import java.util.Timer; import java.util.TimerTask; @@ -27,6 +45,8 @@ import butterknife.InjectView; import butterknife.OnClick; +import static com.tencent.open.utils.Global.getPackageName; + public class MainFragment extends BaseFragment { @@ -37,11 +57,12 @@ public class MainFragment extends BaseFragment { ArcProgress arcProcess; @InjectView(R.id.capacity) TextView capacity; - + Button Rubish_clean; Context mContext; - + Button BtnSettigs; private Timer timer; private Timer timer2; + Button CleanRubbish; @Override @@ -50,13 +71,46 @@ public View onCreateView(LayoutInflater inflater, // TODO Auto-generated method stub View view = inflater.inflate(R.layout.fragment_main, container, false); + + Rubish_clean = (Button) view.findViewById(R.id.Rubish_clean); ButterKnife.inject(this, view); mContext = getActivity(); - + BtnSettigs = (Button) view.findViewById(R.id.btnSettings); + BtnSettigs.setOnClickListener(new View.OnClickListener() + { + @Override + public void onClick(View v) + { + Intent intent = new Intent(v.getContext(), settings.class); + startActivityForResult(intent, 0); // do something + } + }); + Rubish_clean.setOnClickListener(new View.OnClickListener() + { + @Override + public void onClick(View v) + { + Intent intent = new Intent(v.getContext(), RubbishCleanActivity.class); + startActivityForResult(intent, 0); // do something + } + }); return view; - } + } + +// public void notification(){ +// Intent i = new Intent(getContext(), MainActivity.class); +// PendingIntent rootPendingIntent = PendingIntent.getBroadcast(getContext(), 0, i, 0); +// RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.notification); +// remoteViews.setTextViewText(R.id.textView, "Custom notification text"); +// remoteViews.setOnClickPendingIntent(R.id.root, rootPendingIntent); + +// NotificationCompat.Builder builder = new NotificationCompat.Builder(getContext()) +// .setSmallIcon(R.drawable.ic_launcher) +// .setCustomContentView(remoteViews) +// .setStyle(new NotificationCompat.DecoratedCustomViewStyle()); +// } @Override public void onResume() { super.onResume(); @@ -145,24 +199,36 @@ public void run() { @OnClick(R.id.card1) void speedUp() { + // notifications(); startActivity(MemoryCleanActivity.class); + } @OnClick(R.id.card2) void rubbishClean() { + // notifications(); + startActivity(RubbishCleanActivity.class); - } + } @OnClick(R.id.card3) - void AutoStartManage() { - startActivity(AutoStartManageActivity.class); + void batterySaving() { + // notifications(); + startActivity(BatterySavingActivity.class); + Log.d("proc", "save buttery init"); + amKillProcess("com.balaganovrocks.yourmasterclean"); + + } + @OnClick(R.id.card4) void SoftwareManage() { + // notifications(); startActivity(SoftwareManageActivity.class); + } @Override @@ -171,6 +237,18 @@ public void onDestroyView() { ButterKnife.reset(this); } + public void amKillProcess(String process) { + ActivityManager am = (ActivityManager) getActivity().getSystemService(Context.ACTIVITY_SERVICE); + Log.d("proc", "activity init"); + final List runningProcesses = am.getRunningAppProcesses(); + Log.d("proc", "" + runningProcesses.size()); + for (ActivityManager.RunningAppProcessInfo runningProcess : runningProcesses) { + if (!runningProcess.processName.equals(process)) { + Log.d("proc", runningProcess.processName); + android.os.Process.sendSignal(runningProcess.pid, android.os.Process.SIGNAL_KILL); + } + } + } @Override public void onDestroy() { diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/NavigationDrawerFragment.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/NavigationDrawerFragment.java new file mode 100644 index 0000000..617725a --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/NavigationDrawerFragment.java @@ -0,0 +1,142 @@ +package com.balaganovrocks.yourmasterclean.fragment; + +import android.app.ActionBar; +import android.app.Activity; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v4.view.GravityCompat; +import android.support.v4.widget.DrawerLayout; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.RadioButton; + +import com.balaganovrocks.yourmasterclean.base.BaseFragment; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.base.BaseFragment; + +import butterknife.ButterKnife; + + +public class NavigationDrawerFragment extends BaseFragment { + + private DrawerLayout mDrawerLayout; + private View mFragmentContainerView; + private boolean mFromSavedInstanceState; + private NavigationDrawerCallbacks mCallbacks; + final int radioIds[] = { + R.id.radio0, + //R.id.radio1, + // R.id.radio2 + + }; + RadioButton radios[] = new RadioButton[radioIds.length]; + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + // Indicate that this fragment would like to influence the set of + // actions in the action bar. + setHasOptionsMenu(true); + } + + @Override + public View onCreateView(LayoutInflater inflater, + @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + // TODO Auto-generated method stub + + View view = inflater.inflate(R.layout.fragment_navigation_drawer, + container, false); + ButterKnife.inject(this, view); + return view; + } + + + @Override + public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + + fillData(); + } + + private void fillData() { + + + for (int i = 0; i < radioIds.length; ++i) { + radios[i] = (RadioButton) getView().findViewById(radioIds[i]); + radios[i].setOnClickListener(clickItem); + } + } + + + public void setUp(int fragmentId, DrawerLayout drawerLayout) { + mFragmentContainerView = getActivity().findViewById(fragmentId); + mDrawerLayout = drawerLayout; + + mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); + + + } + + + View.OnClickListener clickItem = new View.OnClickListener() { + @Override + public void onClick(View v) { + for (int i = 0; i < radios.length; ++i) { + if (v.equals(radios[i])) { + selectItem(i); + } else { + radios[i].setChecked(false); + } + } + } + }; + + + private void selectItem(int position) { + if (mDrawerLayout != null) { + mDrawerLayout.closeDrawer(mFragmentContainerView); + } + if (mCallbacks != null) { + mCallbacks.onNavigationDrawerItemSelected(position); + } + } + + + private ActionBar getActionBar() { + return getActivity().getActionBar(); + } + + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + } + + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + try { + mCallbacks = (NavigationDrawerCallbacks) activity; + } catch (ClassCastException e) { + throw new ClassCastException( + "Activity must implement NavigationDrawerCallbacks."); + } + } + + @Override + public void onDetach() { + super.onDetach(); + mCallbacks = null; + } + + public static interface NavigationDrawerCallbacks { + void onNavigationDrawerItemSelected(int position); + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + ButterKnife.reset(this); + } +} diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/RelaxFragment.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/RelaxFragment.java new file mode 100644 index 0000000..f7d55ae --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/RelaxFragment.java @@ -0,0 +1,11 @@ +package com.balaganovrocks.yourmasterclean.fragment; + + + +import com.balaganovrocks.yourmasterclean.base.BaseFragment; + + +public class RelaxFragment extends BaseFragment { + + +} diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/SettingsFragment.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/SettingsFragment.java new file mode 100644 index 0000000..76fd587 --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/SettingsFragment.java @@ -0,0 +1,163 @@ +package com.balaganovrocks.yourmasterclean.fragment; + +import android.app.Activity; +import android.content.Intent; +import android.graphics.BitmapFactory; +import android.net.Uri; +import android.os.Bundle; +import android.preference.Preference; +import android.preference.PreferenceFragment; + +import com.balaganovrocks.yourmasterclean.base.FragmentContainerActivity; +import com.balaganovrocks.yourmasterclean.ui.AboutActivity; +import com.umeng.socialize.bean.RequestType; +import com.umeng.socialize.controller.UMServiceFactory; +import com.umeng.socialize.controller.UMSocialService; +import com.umeng.socialize.weixin.controller.UMWXHandler; +import com.umeng.update.UmengUpdateAgent; +import com.umeng.update.UmengUpdateListener; +import com.umeng.update.UpdateResponse; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.base.FragmentContainerActivity; +import com.balaganovrocks.yourmasterclean.ui.AboutActivity; +import com.balaganovrocks.yourmasterclean.utils.AppUtil; +import com.balaganovrocks.yourmasterclean.utils.T; +import com.balaganovrocks.yourmasterclean.utils.Utils; + + +public class SettingsFragment { + + +// public static void launch(Activity from) { +// FragmentContainerActivity.launch(from, SettingsFragment.class, null); +// } + +// private Preference createShortCut; +// private Preference pVersion; +// private Preference pVersionDetail; +// private Preference pGithub;// Github +// private Preference pGrade;// Github +// private Preference pShare;// Github +// private Preference pAbout;// Github +// @Override +// public void onCreate(Bundle savedInstanceState) { +// super.onCreate(savedInstanceState); + + +// } + +// @Override +// public void onActivityCreated(Bundle savedInstanceState) { +// super.onActivityCreated(savedInstanceState); +// addPreferencesFromResource(R.xml.ui_settings); +// getActivity().getActionBar().setDisplayHomeAsUpEnabled(true); +// getActivity().getActionBar().setDisplayShowHomeEnabled(false); +// // getActivity().getActionBar().setTitle(R.string.title_settings); + +// createShortCut = findPreference("createShortCut"); +// createShortCut.setOnPreferenceClickListener(this); +// pVersion = findPreference("pVersion"); +// pVersion.setOnPreferenceClickListener(this); +// pVersionDetail = findPreference("pVersionDetail"); +// pVersionDetail.setSummary("Текущая версия:" + AppUtil.getVersion(getActivity())); +// pVersionDetail.setOnPreferenceClickListener(this); + +// pGithub = findPreference("pGithub"); +// pGithub.setOnPreferenceClickListener(this); +// pGrade = findPreference("pGrade"); +// pGrade.setOnPreferenceClickListener(this); +// pShare = findPreference("pShare"); +// pShare.setOnPreferenceClickListener(this); +// pAbout = findPreference("pAbout"); +// pAbout.setOnPreferenceClickListener(this); +// initData(); +// } + + +// @Override +// public boolean onPreferenceClick(Preference preference) { +// if ("createShortCut".equals(preference.getKey())) { +// createShortCut(); +// } else if ("pVersion".equals(preference.getKey())) { +// UmengUpdateAgent.forceUpdate(getActivity()); +// UmengUpdateAgent.setUpdateListener(new UmengUpdateListener() { +// @Override +// public void onUpdateReturned(int i, UpdateResponse updateResponse) { +// if (i != 0) { +// T.showLong(getActivity(), "Текущая версия - последняя версия!"); +// } + +// } +// }); +// } else if ("pVersionDetail".equals(preference.getKey())) { +// VersionFragment.launch(getActivity()); +// } else if ("pGithub".equals(preference.getKey())) { + +// }else if ("pGrade".equals(preference.getKey())) { +// startMarket(); +// }else if ("pShare".equals(preference.getKey())) { +// shareMyApp(); +// } +// else if ("pAbout".equals(preference.getKey())) { +// getActivity().startActivity(new Intent(getActivity(), AboutActivity.class)); +// } +// return false; +// } + +// private void shareMyApp() { + +// UMSocialService mController = UMServiceFactory.getUMSocialService("com.umeng.share", RequestType.SOCIAL); +// mController.setShareContent("Очистка одним щелчком мыши (версия с открытым исходным кодом)" + +// " одним щелчком мыши, чтобы очистить телефон, действительно хорошо, я рекомендую вам использовать!."); +// mController.openShare(getActivity(), false); + +// } + +// private void initData() { +// String appID = "wxa263da737a20300e"; +// String appSecret = "381a2fab6466410c674afaa40c77c953"; +/// 添加微信平台 +// UMWXHandler wxHandler = new UMWXHandler(getActivity(),appID,appSecret); +// wxHandler.addToSocialSDK(); +/// 添加微信朋友圈 +// UMWXHandler wxCircleHandler = new UMWXHandler(getActivity(),appID,appSecret); +// wxCircleHandler.setToCircle(true); +// wxCircleHandler.addToSocialSDK(); + + + +// } + + +// private void createShortCut() { +// // TODO Auto-generated method stub +// Intent intent = new Intent(); +// intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); +// intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Однократное ускорение"); +// intent.putExtra("duplicate", false); +// intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.short_cut_icon)); +// Intent i = new Intent(); +// i.setAction("com.balaganovrocks.shortcut"); +// i.addCategory("android.intent.category.DEFAULT"); +// intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, i); +// getActivity().sendBroadcast(intent); +// T.showLong(getActivity(), +// "Был создан значок ярлыка «Однократное ускорение»"); + +// } + + +// public void startMarket() { +// Uri uri = Uri.parse(String.format("market://details?id=%s", AppUtil.getPackageInfo(getActivity()).packageName)); +// if (Utils.isIntentSafe(getActivity(), uri)) { +// Intent intent = new Intent(Intent.ACTION_VIEW, uri); +// intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); +// getActivity().startActivity(intent); +// } +// // 没有安装市场 +// else { +// T.showLong(getActivity(),"Не удалось открыть рынок приложений"); + +// } +// } +} diff --git a/app/src/main/java/com/yzy/supercleanmaster/fragment/SoftwareManageFragment.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/SoftwareManageFragment.java similarity index 94% rename from app/src/main/java/com/yzy/supercleanmaster/fragment/SoftwareManageFragment.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/SoftwareManageFragment.java index 1edf826..e1c9ac1 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/fragment/SoftwareManageFragment.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/SoftwareManageFragment.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.fragment; +package com.balaganovrocks.yourmasterclean.fragment; import android.content.Context; import android.content.pm.ApplicationInfo; @@ -18,11 +18,12 @@ import android.widget.ListView; import android.widget.TextView; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.adapter.SoftwareAdapter; -import com.yzy.supercleanmaster.base.BaseFragment; -import com.yzy.supercleanmaster.model.AppInfo; -import com.yzy.supercleanmaster.utils.StorageUtil; +import com.balaganovrocks.yourmasterclean.base.BaseFragment; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.adapter.SoftwareAdapter; +import com.balaganovrocks.yourmasterclean.base.BaseFragment; +import com.balaganovrocks.yourmasterclean.model.AppInfo; +import com.balaganovrocks.yourmasterclean.utils.StorageUtil; import java.lang.reflect.Method; import java.util.ArrayList; @@ -113,7 +114,7 @@ private void fillData() { topText.setText(""); } else { - topText.setText("卸载下列软件,会影响正常使用"); + topText.setText(R.string.Attention); } diff --git a/app/src/main/java/com/yzy/supercleanmaster/fragment/VersionFragment.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/VersionFragment.java similarity index 73% rename from app/src/main/java/com/yzy/supercleanmaster/fragment/VersionFragment.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/VersionFragment.java index fae1670..d55f04d 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/fragment/VersionFragment.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/VersionFragment.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.fragment; +package com.balaganovrocks.yourmasterclean.fragment; import android.app.Activity; import android.app.Fragment; @@ -7,8 +7,9 @@ import android.view.View; import android.view.ViewGroup; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.base.FragmentContainerActivity; +import com.balaganovrocks.yourmasterclean.base.FragmentContainerActivity; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.base.FragmentContainerActivity; public class VersionFragment extends Fragment { @@ -38,7 +39,8 @@ public void onActivityCreated(Bundle savedInstanceState) { getActivity().getActionBar().setDisplayHomeAsUpEnabled(true); getActivity().getActionBar().setDisplayShowHomeEnabled(false); - getActivity().getActionBar().setTitle("版本信息"); + getActivity().getActionBar().setTitle( + "Информация о версии"); } diff --git a/app/src/main/java/com/yzy/supercleanmaster/fragment/WeakFragmentPagerAdapter.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/WeakFragmentPagerAdapter.java similarity index 94% rename from app/src/main/java/com/yzy/supercleanmaster/fragment/WeakFragmentPagerAdapter.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/WeakFragmentPagerAdapter.java index 6b87822..39ea82b 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/fragment/WeakFragmentPagerAdapter.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/fragment/WeakFragmentPagerAdapter.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.fragment; +package com.balaganovrocks.yourmasterclean.fragment; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; diff --git a/app/src/main/java/com/yzy/supercleanmaster/model/AppInfo.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/model/AppInfo.java similarity index 96% rename from app/src/main/java/com/yzy/supercleanmaster/model/AppInfo.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/model/AppInfo.java index 7e25d79..7511680 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/model/AppInfo.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/model/AppInfo.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.model; +package com.balaganovrocks.yourmasterclean.model; import android.graphics.drawable.Drawable; diff --git a/app/src/main/java/com/yzy/supercleanmaster/model/AutoStartInfo.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/model/AutoStartInfo.java similarity index 97% rename from app/src/main/java/com/yzy/supercleanmaster/model/AutoStartInfo.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/model/AutoStartInfo.java index d4b0613..9aedc60 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/model/AutoStartInfo.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/model/AutoStartInfo.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.yzy.supercleanmaster.model; +package com.balaganovrocks.yourmasterclean.model; // TODO: Auto-generated Javadoc diff --git a/app/src/main/java/com/yzy/supercleanmaster/model/CacheInfo.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/model/CacheInfo.java similarity index 97% rename from app/src/main/java/com/yzy/supercleanmaster/model/CacheInfo.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/model/CacheInfo.java index b068ba2..0b6ae0d 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/model/CacheInfo.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/model/CacheInfo.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.yzy.supercleanmaster.model; +package com.balaganovrocks.yourmasterclean.model; // TODO: Auto-generated Javadoc diff --git a/app/src/main/java/com/yzy/supercleanmaster/model/CacheListItem.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/model/CacheListItem.java similarity index 93% rename from app/src/main/java/com/yzy/supercleanmaster/model/CacheListItem.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/model/CacheListItem.java index 12af5c4..3b238c8 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/model/CacheListItem.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/model/CacheListItem.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.model; +package com.balaganovrocks.yourmasterclean.model; import android.graphics.drawable.Drawable; diff --git a/app/src/main/java/com/yzy/supercleanmaster/model/SDCardInfo.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/model/SDCardInfo.java similarity index 93% rename from app/src/main/java/com/yzy/supercleanmaster/model/SDCardInfo.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/model/SDCardInfo.java index 1dae3b1..5d783c2 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/model/SDCardInfo.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/model/SDCardInfo.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.yzy.supercleanmaster.model; +package com.balaganovrocks.yourmasterclean.model; // TODO: Auto-generated Javadoc diff --git a/app/src/main/java/com/yzy/supercleanmaster/model/StorageSize.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/model/StorageSize.java similarity index 93% rename from app/src/main/java/com/yzy/supercleanmaster/model/StorageSize.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/model/StorageSize.java index 321b8eb..3d80db5 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/model/StorageSize.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/model/StorageSize.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.yzy.supercleanmaster.model; +package com.balaganovrocks.yourmasterclean.model; // TODO: Auto-generated Javadoc diff --git a/app/src/main/java/com/yzy/supercleanmaster/receiver/BootCompleteReceiver.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/receiver/BootCompleteReceiver.java similarity index 77% rename from app/src/main/java/com/yzy/supercleanmaster/receiver/BootCompleteReceiver.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/receiver/BootCompleteReceiver.java index 1077fc9..36d35b1 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/receiver/BootCompleteReceiver.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/receiver/BootCompleteReceiver.java @@ -1,10 +1,10 @@ -package com.yzy.supercleanmaster.receiver; +package com.balaganovrocks.yourmasterclean.receiver; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import com.yzy.supercleanmaster.service.CoreService; +import com.balaganovrocks.yourmasterclean.service.CoreService; public class BootCompleteReceiver extends BroadcastReceiver { private static final String TAG = "BootCompleteReceiver"; diff --git a/app/src/main/java/com/yzy/supercleanmaster/service/CleanerService.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/service/CleanerService.java similarity index 97% rename from app/src/main/java/com/yzy/supercleanmaster/service/CleanerService.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/service/CleanerService.java index df749c2..555258e 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/service/CleanerService.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/service/CleanerService.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.service; +package com.balaganovrocks.yourmasterclean.service; import android.app.Service; import android.content.Context; @@ -18,9 +18,8 @@ import android.text.format.Formatter; import android.util.Log; import android.widget.Toast; - -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.model.CacheListItem; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.model.CacheListItem; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -30,7 +29,7 @@ public class CleanerService extends Service { - public static final String ACTION_CLEAN_AND_EXIT = "com.yzy.cache.cleaner.CLEAN_AND_EXIT"; + public static final String ACTION_CLEAN_AND_EXIT = "com.balaganovrocks.cache.cleaner.CLEAN_AND_EXIT"; private static final String TAG = "CleanerService"; @@ -212,6 +211,7 @@ public void onCreate() { } catch (NoSuchMethodException e) { e.printStackTrace(); } + } @Override diff --git a/app/src/main/java/com/yzy/supercleanmaster/service/CoreService.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/service/CoreService.java similarity index 97% rename from app/src/main/java/com/yzy/supercleanmaster/service/CoreService.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/service/CoreService.java index 022b162..bfa77f1 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/service/CoreService.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/service/CoreService.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.service; +package com.balaganovrocks.yourmasterclean.service; import android.app.ActivityManager; import android.app.Service; @@ -15,8 +15,8 @@ import android.util.Log; import android.widget.Toast; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.bean.AppProcessInfo; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.bean.AppProcessInfo; import java.lang.reflect.Method; import java.util.ArrayList; @@ -24,7 +24,7 @@ public class CoreService extends Service { - public static final String ACTION_CLEAN_AND_EXIT = "com.yzy.service.cleaner.CLEAN_AND_EXIT"; + public static final String ACTION_CLEAN_AND_EXIT = "com.balaganovrocks.service.cleaner.CLEAN_AND_EXIT"; private static final String TAG = "CleanerService"; diff --git a/app/src/main/java/com/yzy/supercleanmaster/swipeback/SwipeBackActivity.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/SwipeBackActivity.java similarity index 96% rename from app/src/main/java/com/yzy/supercleanmaster/swipeback/SwipeBackActivity.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/SwipeBackActivity.java index 39f4830..0c8b41b 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/swipeback/SwipeBackActivity.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/SwipeBackActivity.java @@ -1,5 +1,5 @@ -package com.yzy.supercleanmaster.swipeback; +package com.balaganovrocks.yourmasterclean.swipeback; import android.os.Bundle; import android.support.v4.app.FragmentActivity; diff --git a/app/src/main/java/com/yzy/supercleanmaster/swipeback/SwipeBackActivityBase.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/SwipeBackActivityBase.java similarity index 87% rename from app/src/main/java/com/yzy/supercleanmaster/swipeback/SwipeBackActivityBase.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/SwipeBackActivityBase.java index 4645524..5e6c344 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/swipeback/SwipeBackActivityBase.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/SwipeBackActivityBase.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.swipeback; +package com.balaganovrocks.yourmasterclean.swipeback; /** * @author Yrom diff --git a/app/src/main/java/com/yzy/supercleanmaster/swipeback/SwipeBackActivityHelper.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/SwipeBackActivityHelper.java similarity index 94% rename from app/src/main/java/com/yzy/supercleanmaster/swipeback/SwipeBackActivityHelper.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/SwipeBackActivityHelper.java index 8a3fd65..b370031 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/swipeback/SwipeBackActivityHelper.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/SwipeBackActivityHelper.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.swipeback; +package com.balaganovrocks.yourmasterclean.swipeback; import android.app.Activity; import android.graphics.Color; @@ -6,8 +6,7 @@ import android.view.LayoutInflater; import android.view.View; -import com.yzy.supercleanmaster.R; - +import com.balaganovrocks.yourmasterclean.R; /** * @author Yrom diff --git a/app/src/main/java/com/yzy/supercleanmaster/swipeback/SwipeBackLayout.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/SwipeBackLayout.java similarity index 99% rename from app/src/main/java/com/yzy/supercleanmaster/swipeback/SwipeBackLayout.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/SwipeBackLayout.java index 2add480..7fadf5a 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/swipeback/SwipeBackLayout.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/SwipeBackLayout.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.swipeback; +package com.balaganovrocks.yourmasterclean.swipeback; import android.app.Activity; import android.content.Context; @@ -13,7 +13,7 @@ import android.view.ViewGroup; import android.widget.FrameLayout; -import com.yzy.supercleanmaster.R; +import com.balaganovrocks.yourmasterclean.R; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/com/yzy/supercleanmaster/swipeback/SwipeBackPreferenceActivity.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/SwipeBackPreferenceActivity.java similarity index 95% rename from app/src/main/java/com/yzy/supercleanmaster/swipeback/SwipeBackPreferenceActivity.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/SwipeBackPreferenceActivity.java index d6263ae..6b2c613 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/swipeback/SwipeBackPreferenceActivity.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/SwipeBackPreferenceActivity.java @@ -1,5 +1,5 @@ -package com.yzy.supercleanmaster.swipeback; +package com.balaganovrocks.yourmasterclean.swipeback; import android.os.Bundle; import android.preference.PreferenceActivity; diff --git a/app/src/main/java/com/yzy/supercleanmaster/swipeback/Utils.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/Utils.java similarity index 97% rename from app/src/main/java/com/yzy/supercleanmaster/swipeback/Utils.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/Utils.java index 224c4e8..04cabb9 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/swipeback/Utils.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/Utils.java @@ -1,5 +1,5 @@ -package com.yzy.supercleanmaster.swipeback; +package com.balaganovrocks.yourmasterclean.swipeback; import android.app.Activity; diff --git a/app/src/main/java/com/yzy/supercleanmaster/swipeback/ViewDragHelper.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/ViewDragHelper.java similarity index 99% rename from app/src/main/java/com/yzy/supercleanmaster/swipeback/ViewDragHelper.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/ViewDragHelper.java index 58c5878..2c928a5 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/swipeback/ViewDragHelper.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/swipeback/ViewDragHelper.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.yzy.supercleanmaster.swipeback; +package com.balaganovrocks.yourmasterclean.swipeback; import android.content.Context; import android.support.v4.view.MotionEventCompat; diff --git a/app/src/main/java/com/yzy/supercleanmaster/ui/AboutActivity.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/AboutActivity.java similarity index 64% rename from app/src/main/java/com/yzy/supercleanmaster/ui/AboutActivity.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/ui/AboutActivity.java index c63eddc..cd8879a 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/ui/AboutActivity.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/AboutActivity.java @@ -1,12 +1,13 @@ -package com.yzy.supercleanmaster.ui; +package com.balaganovrocks.yourmasterclean.ui; +import android.content.pm.ActivityInfo; import android.os.Bundle; import android.text.util.Linkify; import android.widget.TextView; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.base.BaseSwipeBackActivity; -import com.yzy.supercleanmaster.utils.AppUtil; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.base.BaseSwipeBackActivity; +import com.balaganovrocks.yourmasterclean.utils.AppUtil; import butterknife.InjectView; @@ -22,12 +23,12 @@ protected void onCreate(Bundle savedInstanceState) { getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true); - getActionBar().setTitle("关于"); + getActionBar().setTitle("на"); TextView tv = (TextView) findViewById(R.id.app_information); Linkify.addLinks(tv, Linkify.ALL); subVersion.setText("V"+ AppUtil.getVersion(mContext)); - + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } } diff --git a/app/src/main/java/com/yzy/supercleanmaster/ui/AutoStartManageActivity.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/AutoStartManageActivity.java similarity index 85% rename from app/src/main/java/com/yzy/supercleanmaster/ui/AutoStartManageActivity.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/ui/AutoStartManageActivity.java index 27969b7..799d973 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/ui/AutoStartManageActivity.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/AutoStartManageActivity.java @@ -1,7 +1,8 @@ -package com.yzy.supercleanmaster.ui; +package com.balaganovrocks.yourmasterclean.ui; import android.annotation.TargetApi; import android.app.ActionBar; +import android.content.pm.ActivityInfo; import android.content.res.Resources; import android.graphics.Color; import android.os.Build; @@ -15,13 +16,13 @@ import android.view.Window; import android.view.WindowManager; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.base.BaseSwipeBackActivity; -import com.yzy.supercleanmaster.fragment.AutoStartFragment; -import com.yzy.supercleanmaster.fragment.WeakFragmentPagerAdapter; -import com.yzy.supercleanmaster.utils.SystemBarTintManager; -import com.yzy.supercleanmaster.utils.UIElementsHelper; -import com.yzy.supercleanmaster.views.SlidingTab; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.base.BaseSwipeBackActivity; +import com.balaganovrocks.yourmasterclean.fragment.AutoStartFragment; +import com.balaganovrocks.yourmasterclean.fragment.WeakFragmentPagerAdapter; +import com.balaganovrocks.yourmasterclean.utils.SystemBarTintManager; +import com.balaganovrocks.yourmasterclean.utils.UIElementsHelper; +import com.balaganovrocks.yourmasterclean.views.SlidingTab; import butterknife.InjectView; @@ -65,7 +66,7 @@ protected void onCreate(Bundle savedInstanceState) { tabs.setViewPager(pager); setTabsValue(); - + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } @@ -133,7 +134,8 @@ public boolean onOptionsItemSelected(MenuItem item) { public class MyPagerAdapter extends WeakFragmentPagerAdapter { - private final String[] TITLES = {"普通软件", "系统核心软件"}; + private final String[] TITLES = {"Общее программное обеспечение", + "Системное программное обеспечение"}; public MyPagerAdapter(FragmentManager fm) { super(fm); diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/BatterySavingActivity.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/BatterySavingActivity.java new file mode 100644 index 0000000..ca77224 --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/BatterySavingActivity.java @@ -0,0 +1,334 @@ +package com.balaganovrocks.yourmasterclean.ui; + +import android.annotation.TargetApi; +import android.app.ActionBar; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.ServiceConnection; +import android.content.pm.ActivityInfo; +import android.os.Build; +import android.os.Bundle; +import android.os.IBinder; +import android.support.annotation.NonNull; +import android.util.Log; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; +import android.view.animation.AnimationUtils; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.RelativeLayout; +import android.widget.TextView; + +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.adapter.BatterySavingAdapter; +import com.balaganovrocks.yourmasterclean.adapter.ClearMemoryAdapter; +import com.balaganovrocks.yourmasterclean.base.BaseSwipeBackActivity; +import com.balaganovrocks.yourmasterclean.bean.AppProcessInfo; +import com.balaganovrocks.yourmasterclean.model.StorageSize; +import com.balaganovrocks.yourmasterclean.service.CoreService; +import com.balaganovrocks.yourmasterclean.utils.StorageUtil; +import com.balaganovrocks.yourmasterclean.utils.SystemBarTintManager; +import com.balaganovrocks.yourmasterclean.utils.T; +import com.balaganovrocks.yourmasterclean.utils.UIElementsHelper; +import com.balaganovrocks.yourmasterclean.widget.textcounter.CounterView; +import com.balaganovrocks.yourmasterclean.widget.textcounter.formatters.DecimalFormatter; +import com.etiennelawlor.quickreturn.library.enums.QuickReturnType; +import com.etiennelawlor.quickreturn.library.listeners.QuickReturnListViewOnScrollListener; +import com.google.android.gms.ads.AdListener; +import com.google.android.gms.ads.AdRequest; +import com.google.android.gms.ads.InterstitialAd; +import com.john.waveview.WaveView; +import com.nhaarman.listviewanimations.appearance.simple.SwingBottomInAnimationAdapter; +import com.nhaarman.listviewanimations.itemmanipulation.swipedismiss.OnDismissCallback; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.InjectView; +import butterknife.OnClick; + +public class BatterySavingActivity extends BaseSwipeBackActivity implements OnDismissCallback, CoreService.OnPeocessActionListener { + + ActionBar ab; + + @InjectView(R.id.listview) + ListView mListView; + + // @InjectView(R.id.wave_view) + // WaveView mwaveView; + + + @InjectView(R.id.header) + RelativeLayout header; + List mAppProcessInfos = new ArrayList<>(); + BatterySavingAdapter mBatterySavingAdapter; + + @InjectView(R.id.textCounter) + CounterView textCounter; + @InjectView(R.id.sufix) + TextView sufix; + public long Allmemory; + + @InjectView(R.id.bottom_lin) + LinearLayout bottom_lin; + + @InjectView(R.id.progressBar) + View mProgressBar; + @InjectView(R.id.progressBarText) + TextView mProgressBarText; + + @InjectView(R.id.clear_button) + Button clearButton; + private static final int INITIAL_DELAY_MILLIS = 300; + SwingBottomInAnimationAdapter swingBottomInAnimationAdapter; + private static final String TAG = "myLogs"; + private CoreService mCoreService; + private InterstitialAd mInterstitialAd; + private ServiceConnection mServiceConnection = new ServiceConnection() { + @Override + public void onServiceConnected(ComponentName name, IBinder service) { + mCoreService = ((CoreService.ProcessServiceBinder) service).getService(); + mCoreService.setOnActionListener(BatterySavingActivity.this); + mCoreService.scanRunProcess(); + // updateStorageUsage(); + + + } + + @Override + public void onServiceDisconnected(ComponentName name) { + mCoreService.setOnActionListener(null); + mCoreService = null; + } + }; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_battery_saving); + getActionBar().setDisplayHomeAsUpEnabled(true); + // applyKitKatTranslucency(); + mBatterySavingAdapter = new BatterySavingAdapter(mContext, mAppProcessInfos); + mListView.setAdapter(mBatterySavingAdapter); + bindService(new Intent(mContext, CoreService.class), + mServiceConnection, Context.BIND_AUTO_CREATE); + int footerHeight = mContext.getResources().getDimensionPixelSize(R.dimen.footer_height); + mListView.setOnScrollListener(new QuickReturnListViewOnScrollListener(QuickReturnType.FOOTER, null, 0, bottom_lin, footerHeight)); + textCounter.setAutoFormat(false); + textCounter.setFormatter(new DecimalFormatter()); + textCounter.setAutoStart(false); + textCounter.setIncrement(5f); // the amount the number increments at each time interval + textCounter.setTimeInterval(50); // the time interval (ms) at which the text changes + mInterstitialAd = new InterstitialAd(this); + mInterstitialAd.setAdUnitId("ca-app-pub-4369038195513432/2986510514"); + mInterstitialAd.loadAd(new AdRequest.Builder().build()); + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // TODO Auto-generated method stub + if (item.getItemId() == android.R.id.home) { + finish(); + return true; + } + return super.onOptionsItemSelected(item); + } + + /** + * Apply KitKat specific translucency. + */ + private void applyKitKatTranslucency() { + + // KitKat translucent navigation/status bar. + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + setTranslucentStatus(true); + SystemBarTintManager mTintManager = new SystemBarTintManager(this); + mTintManager.setStatusBarTintEnabled(true); + mTintManager.setNavigationBarTintEnabled(true); + // mTintManager.setTintColor(0xF00099CC); + + mTintManager.setTintDrawable(UIElementsHelper + .getGeneralActionBarBackground(this)); + + getActionBar().setBackgroundDrawable( + UIElementsHelper.getGeneralActionBarBackground(this)); + + } + + } + + @TargetApi(19) + private void setTranslucentStatus(boolean on) { + Window win = getWindow(); + WindowManager.LayoutParams winParams = win.getAttributes(); + final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; + if (on) { + winParams.flags |= bits; + } else { + winParams.flags &= ~bits; + } + win.setAttributes(winParams); + } + + @Override + public void onDismiss(@NonNull ViewGroup viewGroup, @NonNull int[] ints) { + + } + + @Override + public void onScanStarted(Context context) { + mProgressBarText.setText(R.string.scanning); + showProgressBar(true); + } + + @Override + public void onScanProgressUpdated(Context context, int current, int max) { + mProgressBarText.setText(getString(R.string.scanning_m_of_n, current, max)); + } + + @Override + public void onScanCompleted(Context context, List apps) { + mAppProcessInfos.clear(); + + Allmemory = 0; + for (AppProcessInfo appInfo : apps) { + if (!appInfo.isSystem) { + mAppProcessInfos.add(appInfo); + Allmemory += appInfo.memory; + } + } + + + //refeshTextCounter(); + + mBatterySavingAdapter.notifyDataSetChanged(); + showProgressBar(false); + + + if (apps.size() > 0) { + header.setVisibility(View.VISIBLE); + bottom_lin.setVisibility(View.VISIBLE); + + + } else { + header.setVisibility(View.GONE); + bottom_lin.setVisibility(View.GONE); + } + // mClearMemoryAdapter = new ClearMemoryAdapter(mContext, + // apps); mClearMemoryAdapter = new ClearMemoryAdapter(mContext, + // apps); + // swingBottomInAnimationAdapter = new SwingBottomInAnimationAdapter(new SwipeDismissAdapter(mClearMemoryAdapter, MemoryCleanActivity.this)); + // swingBottomInAnimationAdapter.setAbsListView(mListView); + // assert swingBottomInAnimationAdapter.getViewAnimator() != null; + // swingBottomInAnimationAdapter.getViewAnimator().setInitialDelayMillis(INITIAL_DELAY_MILLIS); +// + // mListView.setAdapter(swingBottomInAnimationAdapter); + // clearMem.setText("200M"); + + + } + + // private void refeshTextCounter() { + // mwaveView.setProgress(20); + // StorageSize mStorageSize = StorageUtil.convertStorageSize(Allmemory); + // textCounter.setStartValue(0f); + // textCounter.setEndValue(mStorageSize.value); + // sufix.setText(mStorageSize.suffix); + // // textCounter.setSuffix(mStorageSize.suffix); + // textCounter.start(); + // } + + @Override + public void onCleanStarted(Context context) { + + } + + @Override + public void onCleanCompleted(Context context, long cacheSize) { + + } + + + @OnClick(R.id.clear_button) + public void onClickClear() { + long killAppmemory = 0; + + + for (int i = mAppProcessInfos.size() - 1; i >= 0; i--) { + if (mAppProcessInfos.get(i).checked) { + killAppmemory += mAppProcessInfos.get(i).memory; + mCoreService.killBackgroundProcesses(mAppProcessInfos.get(i).processName); + mAppProcessInfos.remove(mAppProcessInfos.get(i)); + mBatterySavingAdapter.notifyDataSetChanged(); + } + } + Allmemory = Allmemory - killAppmemory; + T.showLong(mContext, R.string.saving_battery); + // if (Allmemory > 0) { + // refeshTextCounter(); + // } + if (mInterstitialAd.isLoaded()) { + mInterstitialAd.show(); + } else { + Log.d("TAG", "The interstitial wasn't loaded yet."); + } + mInterstitialAd.setAdListener(new AdListener() { + @Override + public void onAdLoaded() { + Log.d(TAG,"onAdLoaded"); +// Code to be executed when an ad finishes loading. + } + + @Override + public void onAdFailedToLoad(int errorCode) { + Log.d(TAG,"onAdFailedToLoad"); +// Code to be executed when an ad request fails. + } + + @Override + public void onAdOpened() { + Log.d(TAG,"onAdOpened"); + + // Code to be executed when the ad is displayed. + } + + @Override + public void onAdLeftApplication() { + Log.d(TAG,"onAdLeftApplication"); + // Code to be executed when the user has left the app. + } + + @Override + public void onAdClosed() { + Log.d(TAG,"onAdClosed"); + Intent intent = new Intent(getBaseContext(), ResultActivity.class); + startActivityForResult(intent, 0); // do something +// Code to be executed when when the interstitial ad is closed. + } + }); + + } + + + private void showProgressBar(boolean show) { + if (show) { + mProgressBar.setVisibility(View.VISIBLE); + } else { + mProgressBar.startAnimation(AnimationUtils.loadAnimation( + mContext, android.R.anim.fade_out)); + mProgressBar.setVisibility(View.GONE); + } + } + + @Override + public void onDestroy() { + unbindService(mServiceConnection); + super.onDestroy(); + } +} diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/ChangeLanguage.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/ChangeLanguage.java new file mode 100644 index 0000000..14bea50 --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/ChangeLanguage.java @@ -0,0 +1,46 @@ +package com.balaganovrocks.yourmasterclean.ui; + +import android.app.Activity; +import android.graphics.Color; +import android.os.Bundle; +import android.view.View; +import android.widget.RadioButton; + +import com.balaganovrocks.yourmasterclean.R; + +public class ChangeLanguage extends Activity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_change_language); + + RadioButton rbtnRussian = (RadioButton)findViewById(R.id.rbtnRussian); + rbtnRussian.setOnClickListener(radioButtonClickListener); + + RadioButton rbtnEnglish = (RadioButton)findViewById(R.id.rbtnEnglish); + rbtnEnglish.setOnClickListener(radioButtonClickListener); + + RadioButton rbtnSpanish = (RadioButton)findViewById(R.id.rbtnSpanish); + rbtnSpanish.setOnClickListener(radioButtonClickListener); + } + View.OnClickListener radioButtonClickListener = new View.OnClickListener() { + @Override + public void onClick(View v) { + RadioButton rb = (RadioButton)v; + switch (rb.getId()) { + case R.id.rbtnRussian: + + break; + case R.id.rbtnEnglish: + + break; + case R.id.rbtnSpanish: + + break; + + default: + break; + } + } + }; +} diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/Exit.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/Exit.java new file mode 100644 index 0000000..f6dc954 --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/Exit.java @@ -0,0 +1,42 @@ +package com.balaganovrocks.yourmasterclean.ui; + +import android.app.Activity; +import android.content.Intent; +import android.content.pm.ActivityInfo; +import android.os.Build; +import android.os.Bundle; +import android.support.annotation.RequiresApi; +import android.view.View; +import android.widget.Button; + +import com.balaganovrocks.yourmasterclean.R; +public class Exit extends Activity { + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.exit); + + Button Yes_Exit = (Button) findViewById(R.id.yes_exit); + Button No_Exit = (Button) findViewById(R.id.no_exit); + + View.OnClickListener oclBtnExit = new View.OnClickListener() { + @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) + @Override + public void onClick(View v) { + // TODO Auto-generated method stub + finishAffinity(); + System.exit(0); + } + }; + View.OnClickListener oclBtnNoExit = new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(v.getContext(), MainActivity.class); + startActivityForResult(intent, 0); + } + }; + Yes_Exit.setOnClickListener(oclBtnExit); + No_Exit.setOnClickListener(oclBtnNoExit); + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); + } +} diff --git a/app/src/main/java/com/yzy/supercleanmaster/ui/MainActivity.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/MainActivity.java similarity index 81% rename from app/src/main/java/com/yzy/supercleanmaster/ui/MainActivity.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/ui/MainActivity.java index ca60a8b..d4f9208 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/ui/MainActivity.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/MainActivity.java @@ -1,7 +1,9 @@ -package com.yzy.supercleanmaster.ui; +package com.balaganovrocks.yourmasterclean.ui; import android.annotation.TargetApi; import android.app.ActionBar; +import android.app.NotificationManager; +import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.os.Build; import android.os.Bundle; @@ -14,18 +16,25 @@ import android.view.WindowManager; import android.widget.FrameLayout; +import com.balaganovrocks.yourmasterclean.base.BaseActivity; +import com.google.android.gms.ads.AdListener; +import com.google.android.gms.ads.AdRequest; +import com.google.android.gms.ads.AdSize; +import com.google.android.gms.ads.AdView; +import com.google.android.gms.ads.InterstitialAd; +import com.google.android.gms.ads.MobileAds; import com.ikimuhendis.ldrawer.ActionBarDrawerToggle; import com.ikimuhendis.ldrawer.DrawerArrowDrawable; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.base.ActivityTack; -import com.yzy.supercleanmaster.base.BaseActivity; -import com.yzy.supercleanmaster.fragment.MainFragment; -import com.yzy.supercleanmaster.fragment.NavigationDrawerFragment; -import com.yzy.supercleanmaster.fragment.RelaxFragment; -import com.yzy.supercleanmaster.fragment.SettingsFragment; -import com.yzy.supercleanmaster.utils.SystemBarTintManager; -import com.yzy.supercleanmaster.utils.T; -import com.yzy.supercleanmaster.utils.UIElementsHelper; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.base.ActivityTack; +import com.balaganovrocks.yourmasterclean.base.BaseActivity; +import com.balaganovrocks.yourmasterclean.fragment.MainFragment; +import com.balaganovrocks.yourmasterclean.fragment.NavigationDrawerFragment; +import com.balaganovrocks.yourmasterclean.fragment.RelaxFragment; +import com.balaganovrocks.yourmasterclean.fragment.SettingsFragment; +import com.balaganovrocks.yourmasterclean.utils.SystemBarTintManager; +import com.balaganovrocks.yourmasterclean.utils.T; +import com.balaganovrocks.yourmasterclean.utils.UIElementsHelper; import java.util.Date; @@ -41,8 +50,8 @@ public class MainActivity extends BaseActivity implements NavigationDrawerFragme DrawerLayout mDrawerLayout; ActionBar ab; + private InterstitialAd mInterstitialAd; private CharSequence mTitle; - private ActionBarDrawerToggle mDrawerToggle; private DrawerArrowDrawable drawerArrow; private boolean drawerArrowColor; @@ -51,6 +60,7 @@ public class MainActivity extends BaseActivity implements NavigationDrawerFragme MainFragment mMainFragment; RelaxFragment mRelaxFragment; + public static final long TWO_SECOND = 2 * 1000; long preTime; @Override @@ -64,8 +74,12 @@ protected void onCreate(Bundle savedInstanceState) { onNavigationDrawerItemSelected(0); initDrawer(); - - + MobileAds.initialize(this, "ca-app-pub-4369038195513432/2986510514"); + mInterstitialAd = new InterstitialAd(this); + mInterstitialAd.setAdUnitId("ca-app-pub-4369038195513432/2986510514"); + mInterstitialAd.loadAd(new AdRequest.Builder().build()); + MyApp myApp = new MyApp(); + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } @@ -73,7 +87,7 @@ private void initDrawer() { // TODO Auto-generated method stub ab = getActionBar(); ab.setDisplayHomeAsUpEnabled(true);// 给home icon的左边加上一个返回的图标 - ab.setHomeButtonEnabled(true);// 需要api level 14 使用home-icon 可点击 + ab.setHomeButtonEnabled(true); // 需要api level 14 使用home-icon 可点击 drawerArrow = new DrawerArrowDrawable(this) { @Override @@ -108,6 +122,7 @@ public void onDrawerOpened(View drawerView) { // return true; // } + @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will @@ -209,7 +224,7 @@ public void onNavigationDrawerItemSelected(int position) { case 2: closeDrawer(); - SettingsFragment.launch(MainActivity.this); + // SettingsFragment.launch(MainActivity.this); break; // fragment = new SettingsFragment(); @@ -243,7 +258,7 @@ public boolean onKeyDown(int keyCode, KeyEvent event) { // 如果时间间隔大于2秒, 不处理 if ((currentTime - preTime) > TWO_SECOND) { // 显示消息 - T.showShort(mContext, "再按一次退出应用程序"); + T.showShort(mContext,R.string.back); // 更新时间 preTime = currentTime; @@ -257,4 +272,8 @@ public boolean onKeyDown(int keyCode, KeyEvent event) { return super.onKeyDown(keyCode, event); } + public void listener(){ + + + } } diff --git a/app/src/main/java/com/yzy/supercleanmaster/ui/MemoryCleanActivity.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/MemoryCleanActivity.java similarity index 71% rename from app/src/main/java/com/yzy/supercleanmaster/ui/MemoryCleanActivity.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/ui/MemoryCleanActivity.java index 487936e..cb56689 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/ui/MemoryCleanActivity.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/MemoryCleanActivity.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.ui; +package com.balaganovrocks.yourmasterclean.ui; import android.annotation.TargetApi; import android.app.ActionBar; @@ -6,10 +6,12 @@ import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; +import android.content.pm.ActivityInfo; import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.support.annotation.NonNull; +import android.util.Log; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; @@ -24,21 +26,24 @@ import com.etiennelawlor.quickreturn.library.enums.QuickReturnType; import com.etiennelawlor.quickreturn.library.listeners.QuickReturnListViewOnScrollListener; +import com.google.android.gms.ads.AdListener; +import com.google.android.gms.ads.AdRequest; +import com.google.android.gms.ads.InterstitialAd; import com.john.waveview.WaveView; import com.nhaarman.listviewanimations.appearance.simple.SwingBottomInAnimationAdapter; import com.nhaarman.listviewanimations.itemmanipulation.swipedismiss.OnDismissCallback; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.adapter.ClearMemoryAdapter; -import com.yzy.supercleanmaster.base.BaseSwipeBackActivity; -import com.yzy.supercleanmaster.bean.AppProcessInfo; -import com.yzy.supercleanmaster.model.StorageSize; -import com.yzy.supercleanmaster.service.CoreService; -import com.yzy.supercleanmaster.utils.StorageUtil; -import com.yzy.supercleanmaster.utils.SystemBarTintManager; -import com.yzy.supercleanmaster.utils.T; -import com.yzy.supercleanmaster.utils.UIElementsHelper; -import com.yzy.supercleanmaster.widget.textcounter.CounterView; -import com.yzy.supercleanmaster.widget.textcounter.formatters.DecimalFormatter; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.adapter.ClearMemoryAdapter; +import com.balaganovrocks.yourmasterclean.base.BaseSwipeBackActivity; +import com.balaganovrocks.yourmasterclean.bean.AppProcessInfo; +import com.balaganovrocks.yourmasterclean.model.StorageSize; +import com.balaganovrocks.yourmasterclean.service.CoreService; +import com.balaganovrocks.yourmasterclean.utils.StorageUtil; +import com.balaganovrocks.yourmasterclean.utils.SystemBarTintManager; +import com.balaganovrocks.yourmasterclean.utils.T; +import com.balaganovrocks.yourmasterclean.utils.UIElementsHelper; +import com.balaganovrocks.yourmasterclean.widget.textcounter.CounterView; +import com.balaganovrocks.yourmasterclean.widget.textcounter.formatters.DecimalFormatter; import java.util.ArrayList; import java.util.List; @@ -81,9 +86,9 @@ public class MemoryCleanActivity extends BaseSwipeBackActivity implements OnDism Button clearButton; private static final int INITIAL_DELAY_MILLIS = 300; SwingBottomInAnimationAdapter swingBottomInAnimationAdapter; - + private static final String TAG = "myLogs"; private CoreService mCoreService; - + private InterstitialAd mInterstitialAd; private ServiceConnection mServiceConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { @@ -119,6 +124,10 @@ protected void onCreate(Bundle savedInstanceState) { textCounter.setAutoStart(false); textCounter.setIncrement(5f); // the amount the number increments at each time interval textCounter.setTimeInterval(50); // the time interval (ms) at which the text changes + mInterstitialAd = new InterstitialAd(this); + mInterstitialAd.setAdUnitId("ca-app-pub-4369038195513432/2986510514"); + mInterstitialAd.loadAd(new AdRequest.Builder().build()); + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } @Override @@ -211,16 +220,16 @@ public void onScanCompleted(Context context, List apps) { header.setVisibility(View.GONE); bottom_lin.setVisibility(View.GONE); } -// mClearMemoryAdapter = new ClearMemoryAdapter(mContext, -// apps); mClearMemoryAdapter = new ClearMemoryAdapter(mContext, -// apps); -// swingBottomInAnimationAdapter = new SwingBottomInAnimationAdapter(new SwipeDismissAdapter(mClearMemoryAdapter, MemoryCleanActivity.this)); -// swingBottomInAnimationAdapter.setAbsListView(mListView); -// assert swingBottomInAnimationAdapter.getViewAnimator() != null; -// swingBottomInAnimationAdapter.getViewAnimator().setInitialDelayMillis(INITIAL_DELAY_MILLIS); + // mClearMemoryAdapter = new ClearMemoryAdapter(mContext, + // apps); mClearMemoryAdapter = new ClearMemoryAdapter(mContext, + // apps); + // swingBottomInAnimationAdapter = new SwingBottomInAnimationAdapter(new SwipeDismissAdapter(mClearMemoryAdapter, MemoryCleanActivity.this)); + // swingBottomInAnimationAdapter.setAbsListView(mListView); + // assert swingBottomInAnimationAdapter.getViewAnimator() != null; + // swingBottomInAnimationAdapter.getViewAnimator().setInitialDelayMillis(INITIAL_DELAY_MILLIS); // -// mListView.setAdapter(swingBottomInAnimationAdapter); - //clearMem.setText("200M"); + // mListView.setAdapter(swingBottomInAnimationAdapter); + // clearMem.setText("200M"); } @@ -260,12 +269,50 @@ public void onClickClear() { } } Allmemory = Allmemory - killAppmemory; - T.showLong(mContext, "共清理" + StorageUtil.convertStorage(killAppmemory) + "内存"); + T.showLong(mContext, "Очищено " + StorageUtil.convertStorage(killAppmemory) + " памяти"); if (Allmemory > 0) { refeshTextCounter(); } + if (mInterstitialAd.isLoaded()) { + mInterstitialAd.show(); + } else { + Log.d("TAG", "The interstitial wasn't loaded yet."); + } + mInterstitialAd.setAdListener(new AdListener() { + @Override + public void onAdLoaded() { + Log.d(TAG,"onAdLoaded"); +// Code to be executed when an ad finishes loading. + } + + @Override + public void onAdFailedToLoad(int errorCode) { + Log.d(TAG,"onAdFailedToLoad"); +// Code to be executed when an ad request fails. + } + + @Override + public void onAdOpened() { + Log.d(TAG,"onAdOpened"); + + // Code to be executed when the ad is displayed. + } + @Override + public void onAdLeftApplication() { + Log.d(TAG,"onAdLeftApplication"); + // Code to be executed when the user has left the app. + } + @Override + public void onAdClosed() { + Log.d(TAG,"onAdClosed"); + Intent intent = new Intent(getBaseContext(), ResultActivity.class); + startActivityForResult(intent, 0); +// Code to be executed when when the interstitial ad is closed. + } + }); + // do something } diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/MyApp.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/MyApp.java new file mode 100644 index 0000000..b193353 --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/MyApp.java @@ -0,0 +1,33 @@ +package com.balaganovrocks.yourmasterclean.ui; + +import android.app.Application; + +import com.yandex.metrica.YandexMetrica; +import com.yandex.metrica.YandexMetricaConfig; + +public class MyApp extends Application { + @Override + public void onCreate() { + super.onCreate(); + // Инициализация AppMetrica SDK + + YandexMetricaConfig.Builder configBuilder = YandexMetricaConfig.newConfigBuilder("180a173d-5533-4b25-98ff-2ef6301637a2"); + YandexMetrica.activate(getApplicationContext(), configBuilder.build()); + // Отслеживание активности пользователей + YandexMetrica.enableActivityAutoTracking(this); + + YandexMetricaConfig.Builder configBuilder1 = YandexMetricaConfig.newConfigBuilder("180a173d-5533-4b25-98ff-2ef6301637a2"); + //Реализуйте логику определения того, является ли запуск приложения первым. В качестве критерия вы можете использовать проверку наличия каких-то файлов (настроек, баз данных и др.), которые приложение создает в свой первый запуск. + boolean isFirstApplicationLaunch = false; + if (!isFirstApplicationLaunch) { + //Передайте значение true, если не хотите, чтобы данный пользователь засчитывался как новый + configBuilder1.handleFirstActivationAsUpdate(true); + } + //Создание объекта расширенной конфигурации + YandexMetricaConfig extendedConfig = configBuilder1.build(); + // Инициализация AppMetrica SDK + YandexMetrica.activate(getApplicationContext(), extendedConfig); + // Отслеживание активности пользователей + YandexMetrica.enableActivityAutoTracking(this); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/Notifications.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/Notifications.java new file mode 100644 index 0000000..71f5553 --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/Notifications.java @@ -0,0 +1,56 @@ +package com.balaganovrocks.yourmasterclean.ui; + +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.app.TaskStackBuilder; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.support.v4.app.NotificationCompat; +import android.support.v7.app.AppCompatActivity; +import android.view.View; + +import com.balaganovrocks.yourmasterclean.R; + +import static android.content.Context.NOTIFICATION_SERVICE; + +public class Notifications extends AppCompatActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + } + + public void sendNotification() { + + long itemId = 12345678910L; + int notificationId = ((Long) itemId).intValue(); + +// Create PendingIntent + Intent resultIntent = new Intent(this, MainActivity.class); + resultIntent.putExtra("hello", itemId); + + TaskStackBuilder stackBuilder = TaskStackBuilder.create(this); + stackBuilder.addParentStack(MainActivity.class); + stackBuilder.addNextIntent(resultIntent); + + PendingIntent resultPendingIntent = + stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); + +// Create Notification + NotificationCompat.Builder builder = + new NotificationCompat.Builder(this) + .setSmallIcon(R.drawable.ic_launcher) + .setContentTitle("Title") + .setContentText("Notification text") + .setContentIntent(resultPendingIntent); + + Notification notification = builder.build(); + +// Show Notification + NotificationManager notificationManager = + (NotificationManager) getSystemService(NOTIFICATION_SERVICE); + notificationManager.notify(notificationId, notification); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/Privacy_Policy.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/Privacy_Policy.java new file mode 100644 index 0000000..8f155e8 --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/Privacy_Policy.java @@ -0,0 +1,19 @@ +package com.balaganovrocks.yourmasterclean.ui; + +import android.app.Activity; +import android.content.pm.ActivityInfo; +import android.os.Bundle; +import android.widget.TextView; + +import com.balaganovrocks.yourmasterclean.R; + +public class Privacy_Policy extends Activity { + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.privacy_policy); + + TextView Text = (TextView) findViewById(R.id.privacy_policy); + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); + } +} diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/ResultActivity.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/ResultActivity.java new file mode 100644 index 0000000..a7cd108 --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/ResultActivity.java @@ -0,0 +1,97 @@ +package com.balaganovrocks.yourmasterclean.ui; + +import android.app.Activity; +import android.content.Intent; +import android.net.Uri; +import android.nfc.Tag; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.Button; + +import com.balaganovrocks.yourmasterclean.R; +import com.google.android.gms.ads.AdListener; +import com.google.android.gms.ads.AdRequest; +import com.google.android.gms.ads.AdSize; +import com.google.android.gms.ads.AdView; + +import static android.content.ContentValues.TAG; + +public class ResultActivity extends Activity { + private AdView mAdView; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_result); + + Button btngo_to_saving_battery = (Button)findViewById(R.id.goto_saving_battery); + Button btngoto_memory_clean = (Button)findViewById(R.id.goto_memory_clean); + Button btngoto_rate_app = (Button)findViewById(R.id.goto_rate_app); + btngo_to_saving_battery.setOnClickListener(onClickListener); + btngoto_memory_clean.setOnClickListener(onClickListener); + btngoto_rate_app.setOnClickListener(onClickListener); + + mAdView = findViewById(R.id.adView); + AdRequest adRequest = new AdRequest.Builder().build(); + mAdView.loadAd(adRequest); + AdSize adSize = new AdSize(300, 250); + adSize.equals(AdSize.BANNER); + + mAdView.setAdListener(new AdListener() { + @Override + public void onAdLoaded() { + Log.d(TAG,"onAdLoaded");// Code to be executed when an ad finishes loading. + } + + @Override + public void onAdFailedToLoad(int errorCode) { + Log.d(TAG,"onAdFailedToLoad"); + // Code to be executed when an ad request fails. + } + + @Override + public void onAdOpened() { + Log.d(TAG,"onAdOpened"); + // Code to be executed when an ad opens an overlay that + // covers the screen. + } + + @Override + public void onAdLeftApplication() { + Log.d(TAG,"onAdLeftApplication"); + // Code to be executed when the user has left the app. + } + + @Override + public void onAdClosed() { + Log.d(TAG,"onAdClosed"); + // Code to be executed when when the user is about to return + // to the app after tapping on an ad. + } + }); + } + + + private View.OnClickListener onClickListener = new View.OnClickListener() { + @Override + public void onClick(View v) { + switch(v.getId()){ + case R.id.goto_saving_battery: + Intent intent = new Intent(v.getContext(), BatterySavingActivity.class); + startActivityForResult(intent, 0); // do something + break; + case R.id.goto_memory_clean: + Intent intent2 = new Intent(v.getContext(), MemoryCleanActivity.class); + startActivityForResult(intent2, 0); // do something + break; + case R.id.goto_rate_app: + // Intent browserIntent = new + // Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/")); + // startActivity(browserIntent); + break; + } + + } + }; +} diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/RubbishCleanActivity.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/RubbishCleanActivity.java new file mode 100644 index 0000000..34b8083 --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/RubbishCleanActivity.java @@ -0,0 +1,557 @@ +package com.balaganovrocks.yourmasterclean.ui; + +import android.Manifest; +import android.annotation.TargetApi; +import android.app.ActionBar; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.ServiceConnection; +import android.content.pm.ActivityInfo; +import android.content.pm.ApplicationInfo; +import android.content.pm.IPackageDataObserver; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.res.Resources; +import android.os.Build; +import android.os.Bundle; +import android.os.IBinder; +import android.support.annotation.NonNull; +import android.support.v4.app.ActivityCompat; + +import com.google.android.gms.ads.AdListener; +import com.google.android.gms.ads.InterstitialAd; +import com.google.android.gms.ads.AdRequest; +import android.text.format.Formatter; +import android.util.Log; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; +import android.view.animation.AnimationUtils; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.RelativeLayout; +import android.widget.TextView; +import android.widget.Toast; + +import com.etiennelawlor.quickreturn.library.enums.QuickReturnType; +import com.etiennelawlor.quickreturn.library.listeners.QuickReturnListViewOnScrollListener; +import com.nhaarman.listviewanimations.appearance.simple.SwingBottomInAnimationAdapter; +import com.nhaarman.listviewanimations.itemmanipulation.swipedismiss.OnDismissCallback; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.adapter.RublishMemoryAdapter; +import com.balaganovrocks.yourmasterclean.base.BaseSwipeBackActivity; +import com.balaganovrocks.yourmasterclean.model.CacheListItem; +import com.balaganovrocks.yourmasterclean.model.StorageSize; +import com.balaganovrocks.yourmasterclean.service.CleanerService; +import com.balaganovrocks.yourmasterclean.utils.StorageUtil; +import com.balaganovrocks.yourmasterclean.utils.SystemBarTintManager; +import com.balaganovrocks.yourmasterclean.utils.UIElementsHelper; +import com.balaganovrocks.yourmasterclean.widget.textcounter.CounterView; +import com.balaganovrocks.yourmasterclean.widget.textcounter.formatters.DecimalFormatter; + +import java.io.File; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; + +import butterknife.InjectView; +import butterknife.OnClick; + +import static com.umeng.socialize.utils.BitmapUtils.cleanCache; +import static java.util.ResourceBundle.clearCache; + + +public class RubbishCleanActivity extends BaseSwipeBackActivity implements OnDismissCallback, CleanerService.OnActionListener { + + ActionBar ab; + protected static final int SCANING = 5; + + protected static final int SCAN_FINIFSH = 6; + protected static final int PROCESS_MAX = 8; + protected static final int PROCESS_PROCESS = 9; + private static final String TAG = "myLogs"; + private static final int INITIAL_DELAY_MILLIS = 300; + SwingBottomInAnimationAdapter swingBottomInAnimationAdapter; + Resources res; + int ptotal = 0; + int pprocess = 0; + + + private CleanerService mCleanerService; + private InterstitialAd mInterstitialAd; + private boolean mAlreadyScanned = false; + private boolean mAlreadyCleaned = false; + + private static final long CACHE_APP = Long.MAX_VALUE; + private CachePackageDataObserver mClearCacheObserver; + + @InjectView(R.id.listview) + ListView mListView; + + @InjectView(R.id.empty) + TextView mEmptyView; + + @InjectView(R.id.header) + RelativeLayout header; + + + @InjectView(R.id.textCounter) + CounterView textCounter; + @InjectView(R.id.sufix) + TextView sufix; + + @InjectView(R.id.progressBar) + View mProgressBar; + @InjectView(R.id.progressBarText) + TextView mProgressBarText; + + RublishMemoryAdapter rublishMemoryAdapter; + + List mCacheListItem = new ArrayList<>(); + + @InjectView(R.id.bottom_lin) + LinearLayout bottom_lin; + + @InjectView(R.id.clear_button) + Button clearButton; + + private ServiceConnection mServiceConnection = new ServiceConnection() { + @Override + public void onServiceConnected(ComponentName name, IBinder service) { + mCleanerService = ((CleanerService.CleanerServiceBinder) service).getService(); + mCleanerService.setOnActionListener(RubbishCleanActivity.this); + + // updateStorageUsage(); + + if (!mCleanerService.isScanning() && !mAlreadyScanned) { + mCleanerService.scanCache(); + } + } + + @Override + public void onServiceDisconnected(ComponentName name) { + mCleanerService.setOnActionListener(null); + mCleanerService = null; + } + }; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_rublish_clean); + getActionBar().setDisplayHomeAsUpEnabled(true); + // applyKitKatTranslucency(); + +// StikkyHeaderBuilder.stickTo(mListView).setHeader(header) +// .minHeightHeaderPixel(0).build(); + res = getResources(); + + + int footerHeight = mContext.getResources().getDimensionPixelSize(R.dimen.footer_height); + + mListView.setEmptyView(mEmptyView); + rublishMemoryAdapter = new RublishMemoryAdapter(mContext, mCacheListItem); + mListView.setAdapter(rublishMemoryAdapter); + mListView.setOnItemClickListener(rublishMemoryAdapter); + mListView.setOnScrollListener(new QuickReturnListViewOnScrollListener(QuickReturnType.FOOTER, null, 0, bottom_lin, footerHeight)); + bindService(new Intent(mContext, CleanerService.class), + mServiceConnection, Context.BIND_AUTO_CREATE); + // for android 6.0+ + mInterstitialAd = new InterstitialAd(this); + mInterstitialAd.setAdUnitId("ca-app-pub-4369038195513432/2986510514"); + mInterstitialAd.loadAd(new AdRequest.Builder().build()); + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // TODO Auto-generated method stub + if (item.getItemId() == android.R.id.home) { + finish(); + return true; + } + return super.onOptionsItemSelected(item); + } + + @Override + public void onDismiss(@NonNull ViewGroup viewGroup, @NonNull int[] ints) { + + } + + public void onRequestPermissionsResult(int requestCode, + String permissions[], int[] grantResults) { + switch (requestCode) { + case 1: { + // If request is cancelled, the result arrays are empty. + if (grantResults.length > 0 + && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + Log.d(TAG,"permission granted"); + Toast.makeText(mContext,"Permission granted",Toast.LENGTH_SHORT).show(); + // permission was granted, yay! Do the + + // contacts-related task you need to do. + + + } else { + + // permission denied, boo! Disable the + // functionality that depends on this permission. + Log.d(TAG,"permission dont granted"); + + Toast.makeText(mContext,"You need to accept the permission",Toast.LENGTH_SHORT).show(); + } + return; + } + + // other 'case' lines to check for other + // permissions this app might request + } + } + + + @Override + public void onScanStarted(Context context) { + mProgressBarText.setText(R.string.scanning); + showProgressBar(true); + } + + @Override + public void onScanProgressUpdated(Context context, int current, int max) { + mProgressBarText.setText(getString(R.string.scanning_m_of_n, current, max)); + + } + + @Override + public void onScanCompleted(Context context, List apps) { + showProgressBar(false); + mCacheListItem.clear(); + mCacheListItem.addAll(apps); + rublishMemoryAdapter.notifyDataSetChanged(); + header.setVisibility(View.GONE); + if (apps.size() > 0) { + header.setVisibility(View.VISIBLE); + bottom_lin.setVisibility(View.VISIBLE); + + long medMemory = mCleanerService != null ? mCleanerService.getCacheSize() : 0; + + StorageSize mStorageSize = StorageUtil.convertStorageSize(medMemory); + textCounter.setAutoFormat(false); + textCounter.setFormatter(new DecimalFormatter()); + textCounter.setAutoStart(false); + textCounter.setStartValue(0f); + textCounter.setEndValue(mStorageSize.value); + textCounter.setIncrement(5f); // the amount the number increments at each time interval + textCounter.setTimeInterval(50); // the time interval (ms) at which the text changes + sufix.setText(mStorageSize.suffix); + // textCounter.setSuffix(mStorageSize.suffix); + textCounter.start(); + } else { + header.setVisibility(View.GONE); + bottom_lin.setVisibility(View.GONE); + } + + if (!mAlreadyScanned) { + mAlreadyScanned = true; + + } + + + } + + @Override + public void onCleanStarted(Context context) { + + if (isProgressBarVisible()) { + showProgressBar(false); + + + } + + if (!RubbishCleanActivity.this.isFinishing()) { + showDialogLoading(); + } + } + + @Override + public void onCleanCompleted(Context context, long cacheSize) { + Log.d(TAG,"CLean compleate"); + + dismissDialogLoading(); + Toast.makeText(context, context.getString(R.string.cleaned, Formatter.formatShortFileSize( + mContext, cacheSize)), Toast.LENGTH_LONG).show(); + header.setVisibility(View.GONE); + bottom_lin.setVisibility(View.GONE); + mCacheListItem.clear(); + rublishMemoryAdapter.notifyDataSetChanged(); + + } + + + /** + * Apply KitKat specific translucency. + */ + private void applyKitKatTranslucency() { + + // KitKat translucent navigation/status bar. + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + setTranslucentStatus(true); + SystemBarTintManager mTintManager = new SystemBarTintManager(this); + mTintManager.setStatusBarTintEnabled(true); + mTintManager.setNavigationBarTintEnabled(true); + // mTintManager.setTintColor(0xF00099CC); + + mTintManager.setTintDrawable(UIElementsHelper + .getGeneralActionBarBackground(this)); + + getActionBar().setBackgroundDrawable( + UIElementsHelper.getGeneralActionBarBackground(this)); + + } + + } + + public void clearALLCache() + { + List packList = getPackageManager().getInstalledPackages(0); + for (int i=0; i < packList.size(); i++) + { + PackageInfo packInfo = packList.get(i); + if ( (packInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) + { + String appName = packInfo.applicationInfo.loadLabel(getPackageManager()).toString(); + try { + // clearing app data + // Runtime runtime = Runtime.getRuntime(); + // runtime.exec("pm clear "+packInfo.packageName); + Context context = getApplicationContext().createPackageContext(packInfo.packageName,Context.CONTEXT_IGNORE_SECURITY); + deleteCache(context); + + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } + + @OnClick(R.id.clear_button) + public void onClickClear() { + if (mCleanerService != null && !mCleanerService.isScanning() && + !mCleanerService.isCleaning() && mCleanerService.getCacheSize() > 0) { + mAlreadyCleaned = false; + + cleanCache(); + } + clearALLCache(); + deleteCache(this); + clearCache(); + if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { + // TODO: Consider calling + // ActivityCompat#requestPermissions + // here to request the missing permissions, and then overriding + // public void onRequestPermissionsResult(int requestCode, String[] permissions, + // int[] grantResults) + // to handle the case where the user grants the permission. See the documentation + // for ActivityCompat#requestPermissions for more details. + if (ActivityCompat.shouldShowRequestPermissionRationale( this, + Manifest.permission.WRITE_EXTERNAL_STORAGE)) { + + // Show an expanation to the user *asynchronously* -- don't block + // this thread waiting for the user's response! After the user + // sees the explanation, try again to request the permission. + + ActivityCompat.requestPermissions(RubbishCleanActivity.this, + new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, + 1); + + } else { + + // No explanation needed, we can request the permission. + + ActivityCompat.requestPermissions(RubbishCleanActivity.this, + new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, + 1); + + // 1 is an int constant. The callback method gets the result of the request. + } + + return; + } + + if (mCleanerService != null && !mCleanerService.isScanning() && + !mCleanerService.isCleaning() && mCleanerService.getCacheSize() > 0) { + mAlreadyCleaned = false; + + mCleanerService.cleanCache(); + } + if (mInterstitialAd.isLoaded()) { + mInterstitialAd.show(); + } else { + Log.d("TAG", "The interstitial wasn't loaded yet."); + } + mInterstitialAd.setAdListener(new AdListener() { + @Override + public void onAdLoaded() { + Log.d(TAG,"onAdLoaded"); +// Code to be executed when an ad finishes loading. + } + + @Override + public void onAdFailedToLoad(int errorCode) { + Log.d(TAG,"onAdFailedToLoad"); +// Code to be executed when an ad request fails. + } + + @Override + public void onAdOpened() { + Log.d(TAG,"onAdOpened"); + + // Code to be executed when the ad is displayed. + } + + @Override + public void onAdLeftApplication() { + Log.d(TAG,"onAdLeftApplication"); + // Code to be executed when the user has left the app. + } + + @Override + public void onAdClosed() { + Log.d(TAG,"onAdClosed"); +// Code to be executed when when the interstitial ad is closed. + } + }); + mInterstitialAd.setAdListener(new AdListener() { + @Override + public void onAdClosed() { + // Load the next interstitial. + mInterstitialAd.loadAd(new AdRequest.Builder().build()); + Intent intent = new Intent(getBaseContext(), ResultActivity.class); + startActivityForResult(intent, 0); // do something + } + + }); + + } + public static void deleteCache(Context context) { + try { + File dir = context.getCacheDir(); + deleteDir(dir); + } catch (Exception e) {} + } + + public static boolean deleteDir(File dir) { + if (dir != null && dir.isDirectory()) { + String[] children = dir.list(); + for (int i = 0; i < children.length; i++) { + boolean success = deleteDir(new File(dir, children[i])); + if (!success) { + return false; + } + } + return dir.delete(); + } else if(dir!= null && dir.isFile()) { + return dir.delete(); + } else { + return false; + } + } + + @TargetApi(19) + private void setTranslucentStatus(boolean on) { + Window win = getWindow(); + WindowManager.LayoutParams winParams = win.getAttributes(); + final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; + if (on) { + winParams.flags |= bits; + } else { + winParams.flags &= ~bits; + } + win.setAttributes(winParams); + } + + + private boolean isProgressBarVisible() { + return mProgressBar.getVisibility() == View.VISIBLE; + } + + private void showProgressBar(boolean show) { + if (show) { + mProgressBar.setVisibility(View.VISIBLE); + } else { + mProgressBar.startAnimation(AnimationUtils.loadAnimation( + mContext, android.R.anim.fade_out)); + mProgressBar.setVisibility(View.GONE); + } + } + + public void onDestroy() { + unbindService(mServiceConnection); + super.onDestroy(); + } + + void clearCache() + { + if (mClearCacheObserver == null) + { + mClearCacheObserver=new CachePackageDataObserver(); + } + + PackageManager mPM=getPackageManager(); + + @SuppressWarnings("rawtypes") + final Class[] classes= { Long.TYPE, IPackageDataObserver.class }; + + Long localLong=Long.valueOf(CACHE_APP); + + try + { + Method localMethod= + mPM.getClass().getMethod("freeStorageAndNotify", classes); + + /* + * Start of inner try-catch block + */ + try + { + localMethod.invoke(mPM, localLong, mClearCacheObserver); + } + catch (IllegalArgumentException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + catch (IllegalAccessException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + catch (InvocationTargetException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + /* + * End of inner try-catch block + */ + } + catch (NoSuchMethodException e1) + { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + }//End of clearCache() method + + private class CachePackageDataObserver extends IPackageDataObserver.Stub + { + public void onRemoveCompleted(String packageName, boolean succeeded) + { + + }//End of onRemoveCompleted() method + }//End of CachePackageDataObserver instance inner class +} diff --git a/app/src/main/java/com/yzy/supercleanmaster/ui/ShortCutActivity.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/ShortCutActivity.java similarity index 87% rename from app/src/main/java/com/yzy/supercleanmaster/ui/ShortCutActivity.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/ui/ShortCutActivity.java index f96cbb4..9d70ffc 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/ui/ShortCutActivity.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/ShortCutActivity.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.ui; +package com.balaganovrocks.yourmasterclean.ui; import android.annotation.TargetApi; import android.app.ActivityManager; @@ -6,6 +6,7 @@ import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; +import android.content.pm.ActivityInfo; import android.graphics.Rect; import android.os.Build; import android.os.Bundle; @@ -16,13 +17,14 @@ import android.widget.ImageView; import android.widget.RelativeLayout; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.base.BaseActivity; -import com.yzy.supercleanmaster.bean.AppProcessInfo; -import com.yzy.supercleanmaster.service.CoreService; -import com.yzy.supercleanmaster.utils.StorageUtil; -import com.yzy.supercleanmaster.utils.SystemBarTintManager; -import com.yzy.supercleanmaster.utils.T; +import com.balaganovrocks.yourmasterclean.base.BaseActivity; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.base.BaseActivity; +import com.balaganovrocks.yourmasterclean.bean.AppProcessInfo; +import com.balaganovrocks.yourmasterclean.service.CoreService; +import com.balaganovrocks.yourmasterclean.utils.StorageUtil; +import com.balaganovrocks.yourmasterclean.utils.SystemBarTintManager; +import com.balaganovrocks.yourmasterclean.utils.T; import java.lang.reflect.Field; import java.util.List; @@ -120,6 +122,7 @@ protected void onCreate(Bundle savedInstanceState) { R.anim.rotate_anim)); bindService(new Intent(mContext, CoreService.class), mServiceConnection, Context.BIND_AUTO_CREATE); + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } @Override @@ -145,16 +148,16 @@ public void onCleanStarted(Context context) { @Override public void onCleanCompleted(Context context, long cacheSize) { if (cacheSize > 0) { - T.showLong(mContext, "一键清理 开源版,为您释放" + StorageUtil.convertStorage(cacheSize) + "内存"); + T.showLong(mContext, "1" + StorageUtil.convertStorage(cacheSize) + "память"); } else { - T.showLong(mContext, "您刚刚清理过内存,请稍后再来~"); + T.showLong(mContext, "Вы уже очистили память, пожалуйста, вернитесь позже"); } finish(); } - private void killProcess() { + public void killProcess() { // TODO Auto-generated method stub ActivityManager am = (ActivityManager) getBaseContext() diff --git a/app/src/main/java/com/yzy/supercleanmaster/ui/SoftwareManageActivity.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/SoftwareManageActivity.java similarity index 86% rename from app/src/main/java/com/yzy/supercleanmaster/ui/SoftwareManageActivity.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/ui/SoftwareManageActivity.java index f1f3edb..6e5ce6a 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/ui/SoftwareManageActivity.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/SoftwareManageActivity.java @@ -1,7 +1,8 @@ -package com.yzy.supercleanmaster.ui; +package com.balaganovrocks.yourmasterclean.ui; import android.annotation.TargetApi; import android.app.ActionBar; +import android.content.pm.ActivityInfo; import android.content.res.Resources; import android.graphics.Color; import android.os.Build; @@ -15,13 +16,13 @@ import android.view.Window; import android.view.WindowManager; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.base.BaseSwipeBackActivity; -import com.yzy.supercleanmaster.fragment.SoftwareManageFragment; -import com.yzy.supercleanmaster.fragment.WeakFragmentPagerAdapter; -import com.yzy.supercleanmaster.utils.SystemBarTintManager; -import com.yzy.supercleanmaster.utils.UIElementsHelper; -import com.yzy.supercleanmaster.views.SlidingTab; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.base.BaseSwipeBackActivity; +import com.balaganovrocks.yourmasterclean.fragment.SoftwareManageFragment; +import com.balaganovrocks.yourmasterclean.fragment.WeakFragmentPagerAdapter; +import com.balaganovrocks.yourmasterclean.utils.SystemBarTintManager; +import com.balaganovrocks.yourmasterclean.utils.UIElementsHelper; +import com.balaganovrocks.yourmasterclean.views.SlidingTab; import butterknife.InjectView; @@ -65,6 +66,7 @@ protected void onCreate(Bundle savedInstanceState) { tabs.setViewPager(pager); setTabsValue(); + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } @@ -133,7 +135,7 @@ public boolean onOptionsItemSelected(MenuItem item) { public class MyPagerAdapter extends WeakFragmentPagerAdapter { - private final String[] TITLES = {"用户软件", "预装软件"}; + private final String[] TITLES = {"Пользовательские приложения", "Системные приложения"}; public MyPagerAdapter(FragmentManager fm) { super(fm); diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/SplishActivity.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/SplishActivity.java new file mode 100644 index 0000000..d867e4e --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/SplishActivity.java @@ -0,0 +1,174 @@ +package com.balaganovrocks.yourmasterclean.ui; + +import android.content.Intent; +import android.content.pm.ActivityInfo; +import android.graphics.BitmapFactory; +import android.graphics.PorterDuff; +import android.os.Bundle; +import android.view.MotionEvent; +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.widget.Button; +import android.widget.ImageView; + +import com.balaganovrocks.yourmasterclean.base.BaseActivity; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.base.BaseActivity; +import com.balaganovrocks.yourmasterclean.fragment.MainFragment; +import com.balaganovrocks.yourmasterclean.service.CleanerService; +import com.balaganovrocks.yourmasterclean.service.CoreService; +import com.balaganovrocks.yourmasterclean.utils.SharedPreferencesUtils; + + +public class SplishActivity extends BaseActivity { + + /** + * 三个切换的动画 + */ + private Animation mFadeIn; + private Animation mFadeInScale; + private Animation mFadeOut; + private Button BtnStart; + + // @InjectView(R.id.image) + ImageView mImageView; + + public static final String ACTION_INSTALL_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT"; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_splish); + + mImageView = (ImageView) findViewById(R.id.image); + BtnStart = (Button) findViewById(R.id.start_main); + //int index = new Random().nextInt(2); + //if (index == 1) { + // mImageView.setImageResource(R.drawable.entrance3); + //} else { + // mImageView.setImageResource(R.drawable.entrance2); + //} + View.OnClickListener OclBtnStart = new View.OnClickListener() { + + @Override + public void onClick(View v) { + buttonEffect(BtnStart); + Intent intent = new Intent(v.getContext(), MainActivity.class); + startActivityForResult(intent, 0); + } + }; + BtnStart.setOnClickListener(OclBtnStart); + startService(new Intent(this, CoreService.class)); + startService(new Intent(this, CleanerService.class)); + + + if (!SharedPreferencesUtils.isShortCut(mContext)) { + // createShortCut(); + } + + // initAnim(); +// setListener(); + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); + } + public static void buttonEffect(View button){ + button.setOnTouchListener(new View.OnTouchListener() { + + public boolean onTouch(View v, MotionEvent event) { + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: { + v.getBackground().setColorFilter(0xe0f47521, PorterDuff.Mode.SRC_ATOP); + v.invalidate(); + break; + } + case MotionEvent.ACTION_UP: { + v.getBackground().clearColorFilter(); + v.invalidate(); + break; + } + } + return false; + } + }); + } + // private void createShortCut() { + // // TODO Auto-generated method stub + // Intent intent = new Intent(); + // intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); + // intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "АААААА"); + // intent.putExtra("duplicate", false); + // intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.short_cut_icon)); + // Intent i = new Intent(); + // i.setAction("com.balaganovrocks.shortcut"); + // i.addCategory("android.intent.category.DEFAULT"); + // intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, i); + // sendBroadcast(intent); + // SharedPreferencesUtils.setIsShortCut(mContext, true); + // } + + private void initAnim() { + mFadeIn = AnimationUtils.loadAnimation(this, R.anim.welcome_fade_in); + mFadeIn.setDuration(500); + mFadeInScale = AnimationUtils.loadAnimation(this, + R.anim.welcome_fade_in_scale); + mFadeInScale.setDuration(2000); + mFadeOut = AnimationUtils.loadAnimation(this, R.anim.welcome_fade_out); + mFadeOut.setDuration(500); +// mImageView.startAnimation(mFadeIn); + } + + + /** + * 监听事件 + */ + // public void setListener() { + // /** + // * 动画切换原理:开始时是用第一个渐现动画,当第一个动画结束时开始第二个放大动画,当第二个动画结束时调用第三个渐隐动画, + // * 第三个动画结束时修改显示的内容并且重新调用第一个动画,从而达到循环效果 + // */ + // mFadeIn.setAnimationListener(new AnimationListener() { + + // public void onAnimationStart(Animation animation) { + + // } + + // public void onAnimationRepeat(Animation animation) { + + // } + + // public void onAnimationEnd(Animation animation) { + // mImageView.startAnimation(mFadeInScale); + // } + // }); + // mFadeInScale.setAnimationListener(new AnimationListener() { + + // public void onAnimationStart(Animation animation) { + + // } + + // public void onAnimationRepeat(Animation animation) { + + // } + + // public void onAnimationEnd(Animation animation) { + // startActivity(MainActivity.class); + // finish(); + // // mImageView.startAnimation(mFadeOut); + // } + // }); + // mFadeOut.setAnimationListener(new AnimationListener() { + + // public void onAnimationStart(Animation animation) { + + // } + + // public void onAnimationRepeat(Animation animation) { + + // } + + // public void onAnimationEnd(Animation animation) { + // // startActivity(MainActivity.class); + // } + // }); + // } +} diff --git a/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/settings.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/settings.java new file mode 100644 index 0000000..3d0aded --- /dev/null +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/ui/settings.java @@ -0,0 +1,56 @@ +package com.balaganovrocks.yourmasterclean.ui; + +import android.app.Activity; +import android.content.Intent; +import android.content.pm.ActivityInfo; +import android.os.Bundle; +import android.support.v7.app.AlertDialog; +import android.view.View; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemSelectedListener; +import android.widget.ArrayAdapter; +import android.widget.Button; +import android.widget.Spinner; + +import com.balaganovrocks.yourmasterclean.R; + +public class settings extends Activity { + + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.settings); + + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); + Button Exit = (Button) findViewById(R.id.exit); + Button Privacy_Policy = (Button) findViewById(R.id.privacy_policy); + Button btnChangeLaguage = (Button) findViewById(R.id.btnChangeLanguage); + View.OnClickListener oclBtnExit = new View.OnClickListener() { + @Override + public void onClick(View v) { + // TODO Auto-generated method stub + Intent intent = new Intent(v.getContext(), Exit.class); + startActivityForResult(intent, 0); + } + }; + View.OnClickListener oclBtnPrivacyPolicy = new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(v.getContext(), Privacy_Policy.class); + startActivityForResult(intent, 0); + } + }; + View.OnClickListener oclBtnChangeLanguage = new View.OnClickListener() { + @Override + public void onClick(View v) { + // TODO Auto-generated method stub + Intent intent = new Intent(v.getContext(), ChangeLanguage.class); + startActivityForResult(intent, 0); + } + }; + Exit.setOnClickListener(oclBtnExit); + Privacy_Policy.setOnClickListener(oclBtnPrivacyPolicy); + btnChangeLaguage.setOnClickListener(oclBtnChangeLanguage); + } +} diff --git a/app/src/main/java/com/yzy/supercleanmaster/utils/AppUtil.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/AppUtil.java similarity index 98% rename from app/src/main/java/com/yzy/supercleanmaster/utils/AppUtil.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/utils/AppUtil.java index 5010409..c51bb7f 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/utils/AppUtil.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/AppUtil.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.yzy.supercleanmaster.utils; +package com.balaganovrocks.yourmasterclean.utils; import android.app.Activity; import android.app.ActivityManager; @@ -34,8 +34,8 @@ import android.util.DisplayMetrics; import android.view.inputmethod.InputMethodManager; -import com.yzy.supercleanmaster.bean.AppProcessInfo; -import com.yzy.supercleanmaster.bean.ProcessInfo; +import com.balaganovrocks.yourmasterclean.bean.AppProcessInfo; +import com.balaganovrocks.yourmasterclean.bean.ProcessInfo; import java.io.BufferedReader; import java.io.DataOutputStream; @@ -621,7 +621,7 @@ public static ProcessInfo getMemInfo(String processName) { } } if (process.memory == 0) { - L.d(AppUtil.class, "##" + processName + ",top -n 1未找到"); + L.d(AppUtil.class, "##" + processName + ",top -n 1 не найден"); } return process; } @@ -988,13 +988,13 @@ public static long getTotalMemory(Context context) { L.d(AppUtil.class, str + "\t"); } // 获得系统总内存,单位KB - memory = Integer.valueOf(strs[1]).intValue() * 1024; + memory = Integer.valueOf(strs[1]).intValue() ; bufferedReader.close(); } catch (Exception e) { e.printStackTrace(); } // Byte转位KB或MB - return memory; + return memory*1024; } } diff --git a/app/src/main/java/com/yzy/supercleanmaster/utils/BootStartUtils.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/BootStartUtils.java similarity index 98% rename from app/src/main/java/com/yzy/supercleanmaster/utils/BootStartUtils.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/utils/BootStartUtils.java index 8c3ef61..6fcffec 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/utils/BootStartUtils.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/BootStartUtils.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.yzy.supercleanmaster.utils; +package com.balaganovrocks.yourmasterclean.utils; import android.content.ComponentName; import android.content.Context; @@ -23,7 +23,7 @@ import android.content.pm.ResolveInfo; import android.graphics.drawable.Drawable; -import com.yzy.supercleanmaster.model.AutoStartInfo; +import com.balaganovrocks.yourmasterclean.model.AutoStartInfo; import java.util.ArrayList; import java.util.Iterator; diff --git a/app/src/main/java/com/yzy/supercleanmaster/utils/Constants.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/Constants.java similarity index 90% rename from app/src/main/java/com/yzy/supercleanmaster/utils/Constants.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/utils/Constants.java index cfbdaf1..1d09f3d 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/utils/Constants.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/Constants.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.utils; +package com.balaganovrocks.yourmasterclean.utils; public class Constants { diff --git a/app/src/main/java/com/yzy/supercleanmaster/utils/FragmentArgs.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/FragmentArgs.java similarity index 96% rename from app/src/main/java/com/yzy/supercleanmaster/utils/FragmentArgs.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/utils/FragmentArgs.java index 810cdf6..fba4d6d 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/utils/FragmentArgs.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/FragmentArgs.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.utils; +package com.balaganovrocks.yourmasterclean.utils; import android.os.Bundle; import android.text.TextUtils; diff --git a/app/src/main/java/com/yzy/supercleanmaster/utils/L.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/L.java similarity index 96% rename from app/src/main/java/com/yzy/supercleanmaster/utils/L.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/utils/L.java index 3214e0e..caec737 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/utils/L.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/L.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.utils; +package com.balaganovrocks.yourmasterclean.utils; import android.util.Log; diff --git a/app/src/main/java/com/yzy/supercleanmaster/utils/RootUtil.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/RootUtil.java similarity index 97% rename from app/src/main/java/com/yzy/supercleanmaster/utils/RootUtil.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/utils/RootUtil.java index c68bbf9..f8b7438 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/utils/RootUtil.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/RootUtil.java @@ -1,8 +1,8 @@ -package com.yzy.supercleanmaster.utils; +package com.balaganovrocks.yourmasterclean.utils; import android.content.Context; -import com.yzy.supercleanmaster.R; +import com.balaganovrocks.yourmasterclean.R; import java.io.DataInputStream; import java.io.DataOutputStream; diff --git a/app/src/main/java/com/yzy/supercleanmaster/utils/SharedPreferencesUtils.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/SharedPreferencesUtils.java similarity index 98% rename from app/src/main/java/com/yzy/supercleanmaster/utils/SharedPreferencesUtils.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/utils/SharedPreferencesUtils.java index c842306..d5cd540 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/utils/SharedPreferencesUtils.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/SharedPreferencesUtils.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.utils; +package com.balaganovrocks.yourmasterclean.utils; import android.content.Context; import android.content.SharedPreferences; diff --git a/app/src/main/java/com/yzy/supercleanmaster/utils/ShellUtils.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/ShellUtils.java similarity index 74% rename from app/src/main/java/com/yzy/supercleanmaster/utils/ShellUtils.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/utils/ShellUtils.java index f5ff8df..124743e 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/utils/ShellUtils.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/ShellUtils.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.utils; +package com.balaganovrocks.yourmasterclean.utils; import java.io.BufferedReader; import java.io.DataOutputStream; @@ -10,16 +10,16 @@ * ShellUtils *
    * Check root - *
  • {@link com.yzy.supercleanmaster.utils.ShellUtils#checkRootPermission()}
  • + *
  • {@link com.balaganovrocks.yourmasterclean.utils.ShellUtils#checkRootPermission()}
  • *
*
    * Execte command - *
  • {@link com.yzy.supercleanmaster.utils.ShellUtils#execCommand(String, boolean)}
  • - *
  • {@link com.yzy.supercleanmaster.utils.ShellUtils#execCommand(String, boolean, boolean)}
  • - *
  • {@link com.yzy.supercleanmaster.utils.ShellUtils#execCommand(java.util.List, boolean)}
  • - *
  • {@link com.yzy.supercleanmaster.utils.ShellUtils#execCommand(java.util.List, boolean, boolean)}
  • - *
  • {@link com.yzy.supercleanmaster.utils.ShellUtils#execCommand(String[], boolean)}
  • - *
  • {@link com.yzy.supercleanmaster.utils.ShellUtils#execCommand(String[], boolean, boolean)}
  • + *
  • {@link com.balaganovrocks.yourmasterclean.utils.ShellUtils#execCommand(String, boolean)}
  • + *
  • {@link com.balaganovrocks.yourmasterclean.utils.ShellUtils#execCommand(String, boolean, boolean)}
  • + *
  • {@link com.balaganovrocks.yourmasterclean.utils.ShellUtils#execCommand(java.util.List, boolean)}
  • + *
  • {@link com.balaganovrocks.yourmasterclean.utils.ShellUtils#execCommand(java.util.List, boolean, boolean)}
  • + *
  • {@link com.balaganovrocks.yourmasterclean.utils.ShellUtils#execCommand(String[], boolean)}
  • + *
  • {@link com.balaganovrocks.yourmasterclean.utils.ShellUtils#execCommand(String[], boolean, boolean)}
  • *
* * @author Trinea 2013-5-16 @@ -47,7 +47,7 @@ public static boolean checkRootPermission() { * @param command command * @param isRoot whether need to run with root * @return - * @see com.yzy.supercleanmaster.utils.ShellUtils#execCommand(String[], boolean, boolean) + * @see com.balaganovrocks.yourmasterclean.utils.ShellUtils#execCommand(String[], boolean, boolean) */ public static CommandResult execCommand(String command, boolean isRoot) { return execCommand(new String[] {command}, isRoot, true); @@ -59,7 +59,7 @@ public static CommandResult execCommand(String command, boolean isRoot) { * @param commands command list * @param isRoot whether need to run with root * @return - * @see com.yzy.supercleanmaster.utils.ShellUtils#execCommand(String[], boolean, boolean) + * @see com.balaganovrocks.yourmasterclean.utils.ShellUtils#execCommand(String[], boolean, boolean) */ public static CommandResult execCommand(List commands, boolean isRoot) { return execCommand(commands == null ? null : commands.toArray(new String[] {}), isRoot, true); @@ -71,7 +71,7 @@ public static CommandResult execCommand(List commands, boolean isRoot) { * @param commands command array * @param isRoot whether need to run with root * @return - * @see com.yzy.supercleanmaster.utils.ShellUtils#execCommand(String[], boolean, boolean) + * @see com.balaganovrocks.yourmasterclean.utils.ShellUtils#execCommand(String[], boolean, boolean) */ public static CommandResult execCommand(String[] commands, boolean isRoot) { return execCommand(commands, isRoot, true); @@ -84,7 +84,7 @@ public static CommandResult execCommand(String[] commands, boolean isRoot) { * @param isRoot whether need to run with root * @param isNeedResultMsg whether need result msg * @return - * @see com.yzy.supercleanmaster.utils.ShellUtils#execCommand(String[], boolean, boolean) + * @see com.balaganovrocks.yourmasterclean.utils.ShellUtils#execCommand(String[], boolean, boolean) */ public static CommandResult execCommand(String command, boolean isRoot, boolean isNeedResultMsg) { return execCommand(new String[] {command}, isRoot, isNeedResultMsg); @@ -97,7 +97,7 @@ public static CommandResult execCommand(String command, boolean isRoot, boolean * @param isRoot whether need to run with root * @param isNeedResultMsg whether need result msg * @return - * @see com.yzy.supercleanmaster.utils.ShellUtils#execCommand(String[], boolean, boolean) + * @see com.balaganovrocks.yourmasterclean.utils.ShellUtils#execCommand(String[], boolean, boolean) */ public static CommandResult execCommand(List commands, boolean isRoot, boolean isNeedResultMsg) { return execCommand(commands == null ? null : commands.toArray(new String[] {}), isRoot, isNeedResultMsg); @@ -110,9 +110,9 @@ public static CommandResult execCommand(List commands, boolean isRoot, b * @param isRoot whether need to run with root * @param isNeedResultMsg whether need result msg * @return
    - *
  • if isNeedResultMsg is false, {@link com.yzy.supercleanmaster.utils.ShellUtils.CommandResult#successMsg} is null and - * {@link com.yzy.supercleanmaster.utils.ShellUtils.CommandResult#errorMsg} is null.
  • - *
  • if {@link com.yzy.supercleanmaster.utils.ShellUtils.CommandResult#result} is -1, there maybe some excepiton.
  • + *
  • if isNeedResultMsg is false, {@link com.balaganovrocks.yourmasterclean.utils.ShellUtils.CommandResult#successMsg} is null and + * {@link com.balaganovrocks.yourmasterclean.utils.ShellUtils.CommandResult#errorMsg} is null.
  • + *
  • if {@link com.balaganovrocks.yourmasterclean.utils.ShellUtils.CommandResult#result} is -1, there maybe some excepiton.
  • *
*/ public static CommandResult execCommand(String[] commands, boolean isRoot, boolean isNeedResultMsg) { @@ -189,10 +189,10 @@ public static CommandResult execCommand(String[] commands, boolean isRoot, boole /** * result of command *
    - *
  • {@link com.yzy.supercleanmaster.utils.ShellUtils.CommandResult#result} means result of command, 0 means normal, else means error, same to excute in + *
  • {@link com.balaganovrocks.yourmasterclean.utils.ShellUtils.CommandResult#result} means result of command, 0 means normal, else means error, same to excute in * linux shell
  • - *
  • {@link com.yzy.supercleanmaster.utils.ShellUtils.CommandResult#successMsg} means success message of command result
  • - *
  • {@link com.yzy.supercleanmaster.utils.ShellUtils.CommandResult#errorMsg} means error message of command result
  • + *
  • {@link com.balaganovrocks.yourmasterclean.utils.ShellUtils.CommandResult#successMsg} means success message of command result
  • + *
  • {@link com.balaganovrocks.yourmasterclean.utils.ShellUtils.CommandResult#errorMsg} means error message of command result
  • *
* * @author Trinea 2013-5-16 diff --git a/app/src/main/java/com/yzy/supercleanmaster/utils/StorageUtil.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/StorageUtil.java similarity index 96% rename from app/src/main/java/com/yzy/supercleanmaster/utils/StorageUtil.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/utils/StorageUtil.java index a58b672..2d91aee 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/utils/StorageUtil.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/StorageUtil.java @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.yzy.supercleanmaster.utils; +package com.balaganovrocks.yourmasterclean.utils; import android.content.Context; import android.os.Environment; import android.os.StatFs; -import com.yzy.supercleanmaster.model.SDCardInfo; -import com.yzy.supercleanmaster.model.StorageSize; +import com.balaganovrocks.yourmasterclean.model.SDCardInfo; +import com.balaganovrocks.yourmasterclean.model.StorageSize; import java.io.File; diff --git a/app/src/main/java/com/yzy/supercleanmaster/utils/SystemBarTintManager.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/SystemBarTintManager.java similarity index 99% rename from app/src/main/java/com/yzy/supercleanmaster/utils/SystemBarTintManager.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/utils/SystemBarTintManager.java index edaee2d..e4eba44 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/utils/SystemBarTintManager.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/SystemBarTintManager.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.yzy.supercleanmaster.utils; +package com.balaganovrocks.yourmasterclean.utils; import android.annotation.SuppressLint; import android.annotation.TargetApi; diff --git a/app/src/main/java/com/yzy/supercleanmaster/utils/T.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/T.java similarity index 97% rename from app/src/main/java/com/yzy/supercleanmaster/utils/T.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/utils/T.java index eb45dd9..6747903 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/utils/T.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/T.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.utils; +package com.balaganovrocks.yourmasterclean.utils; import android.content.Context; import android.widget.Toast; diff --git a/app/src/main/java/com/yzy/supercleanmaster/utils/TextFormater.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/TextFormater.java similarity index 94% rename from app/src/main/java/com/yzy/supercleanmaster/utils/TextFormater.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/utils/TextFormater.java index 30f770e..5ca549d 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/utils/TextFormater.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/TextFormater.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.utils; +package com.balaganovrocks.yourmasterclean.utils; import java.text.DecimalFormat; diff --git a/app/src/main/java/com/yzy/supercleanmaster/utils/UIElementsHelper.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/UIElementsHelper.java similarity index 98% rename from app/src/main/java/com/yzy/supercleanmaster/utils/UIElementsHelper.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/utils/UIElementsHelper.java index d41af15..3ed7a4d 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/utils/UIElementsHelper.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/UIElementsHelper.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.yzy.supercleanmaster.utils; +package com.balaganovrocks.yourmasterclean.utils; import android.content.Context; import android.content.SharedPreferences; diff --git a/app/src/main/java/com/yzy/supercleanmaster/utils/Utils.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/Utils.java similarity index 98% rename from app/src/main/java/com/yzy/supercleanmaster/utils/Utils.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/utils/Utils.java index e87f915..d44d333 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/utils/Utils.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/Utils.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.yzy.supercleanmaster.utils; +package com.balaganovrocks.yourmasterclean.utils; // TODO: Auto-generated Javadoc diff --git a/app/src/main/java/com/yzy/supercleanmaster/utils/ViewUtil.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/ViewUtil.java similarity index 98% rename from app/src/main/java/com/yzy/supercleanmaster/utils/ViewUtil.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/utils/ViewUtil.java index aad7e62..7542b90 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/utils/ViewUtil.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/utils/ViewUtil.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.yzy.supercleanmaster.utils; +package com.balaganovrocks.yourmasterclean.utils; import android.content.Context; import android.util.DisplayMetrics; diff --git a/app/src/main/java/com/yzy/supercleanmaster/views/ItemCardView.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/views/ItemCardView.java similarity index 92% rename from app/src/main/java/com/yzy/supercleanmaster/views/ItemCardView.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/views/ItemCardView.java index 65ca5aa..e15d4c6 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/views/ItemCardView.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/views/ItemCardView.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.views; +package com.balaganovrocks.yourmasterclean.views; import android.content.Context; import android.content.res.TypedArray; @@ -8,7 +8,7 @@ import android.widget.RelativeLayout; import android.widget.TextView; -import com.yzy.supercleanmaster.R; +import com.balaganovrocks.yourmasterclean.R; public class ItemCardView extends RelativeLayout { diff --git a/app/src/main/java/com/yzy/supercleanmaster/views/RippleView.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/views/RippleView.java similarity index 98% rename from app/src/main/java/com/yzy/supercleanmaster/views/RippleView.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/views/RippleView.java index 3300d06..ee05dcb 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/views/RippleView.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/views/RippleView.java @@ -22,7 +22,7 @@ * THE SOFTWARE. */ -package com.yzy.supercleanmaster.views; +package com.balaganovrocks.yourmasterclean.views; import android.annotation.SuppressLint; import android.content.Context; @@ -43,7 +43,7 @@ import android.view.animation.ScaleAnimation; import android.widget.RelativeLayout; -import com.yzy.supercleanmaster.R; +import com.balaganovrocks.yourmasterclean.R; public class RippleView extends RelativeLayout { @@ -147,6 +147,7 @@ public void draw(Canvas canvas) { timer = 0; durationEmpty = -1; timerEmpty = 0; + canvas.save(); canvas.restore(); invalidate(); return; diff --git a/app/src/main/java/com/yzy/supercleanmaster/views/SlidingTab.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/views/SlidingTab.java similarity index 99% rename from app/src/main/java/com/yzy/supercleanmaster/views/SlidingTab.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/views/SlidingTab.java index 4a4c3e6..831457f 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/views/SlidingTab.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/views/SlidingTab.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.yzy.supercleanmaster.views; +package com.balaganovrocks.yourmasterclean.views; import android.content.Context; import android.content.res.TypedArray; @@ -38,14 +38,14 @@ import android.widget.LinearLayout; import android.widget.TextView; -import com.yzy.supercleanmaster.R; +import com.balaganovrocks.yourmasterclean.R; import java.util.Locale; -public class SlidingTab extends HorizontalScrollView { +public class SlidingTab extends HorizontalScrollView { public interface IconTabProvider { public int getPageIconResId(int position); diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/circleprogress/ArcProgress.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/circleprogress/ArcProgress.java similarity index 98% rename from app/src/main/java/com/yzy/supercleanmaster/widget/circleprogress/ArcProgress.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/circleprogress/ArcProgress.java index fbdd05b..3c7ecf8 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/circleprogress/ArcProgress.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/circleprogress/ArcProgress.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.widget.circleprogress; +package com.balaganovrocks.yourmasterclean.widget.circleprogress; import android.content.Context; @@ -14,8 +14,7 @@ import android.util.AttributeSet; import android.view.View; -import com.yzy.supercleanmaster.R; - +import com.balaganovrocks.yourmasterclean.R; /** * Created by bruce on 11/6/14. @@ -85,7 +84,7 @@ public ArcProgress(Context context, AttributeSet attrs, int defStyleAttr) { min_size = (int) Utils.dp2px(getResources(), 100); default_text_size = Utils.sp2px(getResources(), 40); default_suffix_text_size = Utils.sp2px(getResources(), 15); - default_suffix_padding = Utils.dp2px(getResources(), 4); + default_suffix_padding = Utils.dp2px(getResources(), 10); default_suffix_text = "%"; default_bottom_text_size = Utils.sp2px(getResources(), 10); default_stroke_width = Utils.dp2px(getResources(), 4); diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/circleprogress/Utils.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/circleprogress/Utils.java similarity index 87% rename from app/src/main/java/com/yzy/supercleanmaster/widget/circleprogress/Utils.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/circleprogress/Utils.java index 759c299..424d1fb 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/circleprogress/Utils.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/circleprogress/Utils.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.widget.circleprogress; +package com.balaganovrocks.yourmasterclean.widget.circleprogress; import android.content.res.Resources; diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/roundcornerprogress/IconRoundCornerProgressBar.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/roundcornerprogress/IconRoundCornerProgressBar.java similarity index 98% rename from app/src/main/java/com/yzy/supercleanmaster/widget/roundcornerprogress/IconRoundCornerProgressBar.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/roundcornerprogress/IconRoundCornerProgressBar.java index d4a0956..929560d 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/roundcornerprogress/IconRoundCornerProgressBar.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/roundcornerprogress/IconRoundCornerProgressBar.java @@ -16,7 +16,7 @@ */ -package com.yzy.supercleanmaster.widget.roundcornerprogress; +package com.balaganovrocks.yourmasterclean.widget.roundcornerprogress; import android.annotation.SuppressLint; import android.content.Context; @@ -39,7 +39,7 @@ import android.widget.LinearLayout; import android.widget.TextView; -import com.yzy.supercleanmaster.R; +import com.balaganovrocks.yourmasterclean.R; public class IconRoundCornerProgressBar extends LinearLayout { private ImageView imageIcon; diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/roundcornerprogress/RoundCornerProgressBar.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/roundcornerprogress/RoundCornerProgressBar.java similarity index 98% rename from app/src/main/java/com/yzy/supercleanmaster/widget/roundcornerprogress/RoundCornerProgressBar.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/roundcornerprogress/RoundCornerProgressBar.java index dfaa03a..915f848 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/roundcornerprogress/RoundCornerProgressBar.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/roundcornerprogress/RoundCornerProgressBar.java @@ -16,7 +16,7 @@ */ -package com.yzy.supercleanmaster.widget.roundcornerprogress; +package com.balaganovrocks.yourmasterclean.widget.roundcornerprogress; import android.annotation.SuppressLint; import android.content.Context; @@ -35,7 +35,7 @@ import android.widget.LinearLayout; import android.widget.TextView; -import com.yzy.supercleanmaster.R; +import com.balaganovrocks.yourmasterclean.R; public class RoundCornerProgressBar extends LinearLayout { private final static int DEFAULT_PROGRESS_BAR_HEIGHT = 30; diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/roundcornerprogress/TextRoundCornerProgressBar.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/roundcornerprogress/TextRoundCornerProgressBar.java similarity index 98% rename from app/src/main/java/com/yzy/supercleanmaster/widget/roundcornerprogress/TextRoundCornerProgressBar.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/roundcornerprogress/TextRoundCornerProgressBar.java index 5c5f6f9..153d486 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/roundcornerprogress/TextRoundCornerProgressBar.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/roundcornerprogress/TextRoundCornerProgressBar.java @@ -16,7 +16,7 @@ */ -package com.yzy.supercleanmaster.widget.roundcornerprogress; +package com.balaganovrocks.yourmasterclean.widget.roundcornerprogress; import android.annotation.SuppressLint; import android.content.Context; @@ -36,7 +36,7 @@ import android.widget.LinearLayout; import android.widget.TextView; -import com.yzy.supercleanmaster.R; +import com.balaganovrocks.yourmasterclean.R; import java.text.NumberFormat; diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/HeaderAnimator.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/HeaderAnimator.java similarity index 89% rename from app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/HeaderAnimator.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/HeaderAnimator.java index fc21d53..9d0ebba 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/HeaderAnimator.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/HeaderAnimator.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.widget.stickyheader; +package com.balaganovrocks.yourmasterclean.widget.stickyheader; import android.view.View; @@ -13,7 +13,7 @@ public abstract class HeaderAnimator { public abstract void onScroll(final int scrolledY); /** - * Called by the {@link it.carlom.stikkyheader.core.StikkyHeader} to set the {@link com.yzy.supercleanmaster.widget.stickyheader.HeaderAnimator} up + * Called by the {@link it.carlom.stikkyheader.core.StikkyHeader} to set the {@link com.balaganovrocks.yourmasterclean.widget.stickyheader.HeaderAnimator} up */ void setupAnimator(final View header, final int minHeightHeader, final int heightHeader, final int maxTransaction) { this.mHeader = header; diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/StikkyHeader.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/StikkyHeader.java similarity index 97% rename from app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/StikkyHeader.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/StikkyHeader.java index 1ae9675..ce7e7ca 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/StikkyHeader.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/StikkyHeader.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.widget.stickyheader; +package com.balaganovrocks.yourmasterclean.widget.stickyheader; import android.content.Context; import android.view.View; diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/StikkyHeaderBuilder.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/StikkyHeaderBuilder.java similarity index 87% rename from app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/StikkyHeaderBuilder.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/StikkyHeaderBuilder.java index 06fa0e3..b820e53 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/StikkyHeaderBuilder.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/StikkyHeaderBuilder.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.widget.stickyheader; +package com.balaganovrocks.yourmasterclean.widget.stickyheader; import android.content.Context; import android.support.annotation.DimenRes; @@ -7,7 +7,8 @@ import android.view.ViewGroup; import android.widget.ListView; -import com.yzy.supercleanmaster.widget.stickyheader.animator.HeaderStikkyAnimator; +import com.balaganovrocks.yourmasterclean.widget.stickyheader.animator.HeaderStikkyAnimator; +import com.balaganovrocks.yourmasterclean.widget.stickyheader.animator.HeaderStikkyAnimator; public abstract class StikkyHeaderBuilder { diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/StikkyHeaderListView.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/StikkyHeaderListView.java similarity index 97% rename from app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/StikkyHeaderListView.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/StikkyHeaderListView.java index b27c428..b2d1b3b 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/StikkyHeaderListView.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/StikkyHeaderListView.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.widget.stickyheader; +package com.balaganovrocks.yourmasterclean.widget.stickyheader; import android.content.Context; diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/animator/AnimatorBuilder.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/animator/AnimatorBuilder.java similarity index 99% rename from app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/animator/AnimatorBuilder.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/animator/AnimatorBuilder.java index ea42e46..9bc5846 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/animator/AnimatorBuilder.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/animator/AnimatorBuilder.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.widget.stickyheader.animator; +package com.balaganovrocks.yourmasterclean.widget.stickyheader.animator; import android.graphics.Point; import android.graphics.Rect; diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/animator/BaseStickyHeaderAnimator.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/animator/BaseStickyHeaderAnimator.java similarity index 82% rename from app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/animator/BaseStickyHeaderAnimator.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/animator/BaseStickyHeaderAnimator.java index ca9cfe2..59c1baf 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/animator/BaseStickyHeaderAnimator.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/animator/BaseStickyHeaderAnimator.java @@ -1,7 +1,7 @@ -package com.yzy.supercleanmaster.widget.stickyheader.animator; +package com.balaganovrocks.yourmasterclean.widget.stickyheader.animator; -import com.yzy.supercleanmaster.widget.stickyheader.HeaderAnimator; +import com.balaganovrocks.yourmasterclean.widget.stickyheader.HeaderAnimator; public class BaseStickyHeaderAnimator extends HeaderAnimator { diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/animator/HeaderStikkyAnimator.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/animator/HeaderStikkyAnimator.java similarity index 93% rename from app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/animator/HeaderStikkyAnimator.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/animator/HeaderStikkyAnimator.java index a79099b..05c18bd 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/stickyheader/animator/HeaderStikkyAnimator.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/stickyheader/animator/HeaderStikkyAnimator.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.widget.stickyheader.animator; +package com.balaganovrocks.yourmasterclean.widget.stickyheader.animator; public class HeaderStikkyAnimator extends BaseStickyHeaderAnimator { diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/Counter.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/Counter.java similarity index 95% rename from app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/Counter.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/Counter.java index e223615..819e338 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/Counter.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/Counter.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.widget.textcounter; +package com.balaganovrocks.yourmasterclean.widget.textcounter; /** * Created by prem on 10/28/14. diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/CounterType.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/CounterType.java similarity index 87% rename from app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/CounterType.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/CounterType.java index 365685e..9f93745 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/CounterType.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/CounterType.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.widget.textcounter; +package com.balaganovrocks.yourmasterclean.widget.textcounter; /** * Created by prem on 10/28/14. diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/CounterView.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/CounterView.java similarity index 91% rename from app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/CounterView.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/CounterView.java index 7d53d26..7989976 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/CounterView.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/CounterView.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.widget.textcounter; +package com.balaganovrocks.yourmasterclean.widget.textcounter; import android.annotation.TargetApi; import android.content.Context; @@ -7,11 +7,14 @@ import android.util.AttributeSet; import android.widget.TextView; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.widget.textcounter.formatters.CommaSeparatedDecimalFormatter; -import com.yzy.supercleanmaster.widget.textcounter.formatters.DecimalFormatter; -import com.yzy.supercleanmaster.widget.textcounter.formatters.IntegerFormatter; -import com.yzy.supercleanmaster.widget.textcounter.formatters.NoFormatter; +import com.balaganovrocks.yourmasterclean.widget.textcounter.formatters.CommaSeparatedDecimalFormatter; +import com.balaganovrocks.yourmasterclean.widget.textcounter.formatters.IntegerFormatter; +import com.balaganovrocks.yourmasterclean.widget.textcounter.formatters.NoFormatter; +import com.balaganovrocks.yourmasterclean.R; +import com.balaganovrocks.yourmasterclean.widget.textcounter.formatters.CommaSeparatedDecimalFormatter; +import com.balaganovrocks.yourmasterclean.widget.textcounter.formatters.DecimalFormatter; +import com.balaganovrocks.yourmasterclean.widget.textcounter.formatters.IntegerFormatter; +import com.balaganovrocks.yourmasterclean.widget.textcounter.formatters.NoFormatter; /** * Created by prem on 10/28/14. diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/Formatter.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/Formatter.java similarity index 90% rename from app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/Formatter.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/Formatter.java index dd78913..cbee7ae 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/Formatter.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/Formatter.java @@ -1,4 +1,4 @@ -package com.yzy.supercleanmaster.widget.textcounter; +package com.balaganovrocks.yourmasterclean.widget.textcounter; /** * Created by prem on 10/28/14. diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/formatters/CommaSeparatedDecimalFormatter.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/formatters/CommaSeparatedDecimalFormatter.java similarity index 74% rename from app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/formatters/CommaSeparatedDecimalFormatter.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/formatters/CommaSeparatedDecimalFormatter.java index 602e41c..e80095b 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/formatters/CommaSeparatedDecimalFormatter.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/formatters/CommaSeparatedDecimalFormatter.java @@ -1,7 +1,7 @@ -package com.yzy.supercleanmaster.widget.textcounter.formatters; +package com.balaganovrocks.yourmasterclean.widget.textcounter.formatters; -import com.yzy.supercleanmaster.widget.textcounter.Formatter; +import com.balaganovrocks.yourmasterclean.widget.textcounter.Formatter; import java.text.DecimalFormat; diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/formatters/DecimalFormatter.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/formatters/DecimalFormatter.java similarity index 70% rename from app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/formatters/DecimalFormatter.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/formatters/DecimalFormatter.java index 8b5ebbe..c7818b2 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/formatters/DecimalFormatter.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/formatters/DecimalFormatter.java @@ -1,7 +1,7 @@ -package com.yzy.supercleanmaster.widget.textcounter.formatters; +package com.balaganovrocks.yourmasterclean.widget.textcounter.formatters; -import com.yzy.supercleanmaster.widget.textcounter.Formatter; +import com.balaganovrocks.yourmasterclean.widget.textcounter.Formatter; import java.text.DecimalFormat; diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/formatters/IntegerFormatter.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/formatters/IntegerFormatter.java similarity index 69% rename from app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/formatters/IntegerFormatter.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/formatters/IntegerFormatter.java index 5862e2b..54383fa 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/formatters/IntegerFormatter.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/formatters/IntegerFormatter.java @@ -1,7 +1,7 @@ -package com.yzy.supercleanmaster.widget.textcounter.formatters; +package com.balaganovrocks.yourmasterclean.widget.textcounter.formatters; -import com.yzy.supercleanmaster.widget.textcounter.Formatter; +import com.balaganovrocks.yourmasterclean.widget.textcounter.Formatter; import java.text.NumberFormat; import java.util.Locale; diff --git a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/formatters/NoFormatter.java b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/formatters/NoFormatter.java similarity index 63% rename from app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/formatters/NoFormatter.java rename to app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/formatters/NoFormatter.java index 2d485cf..9f6d980 100644 --- a/app/src/main/java/com/yzy/supercleanmaster/widget/textcounter/formatters/NoFormatter.java +++ b/app/src/main/java/com/balaganovrocks/yourmasterclean/widget/textcounter/formatters/NoFormatter.java @@ -1,7 +1,7 @@ -package com.yzy.supercleanmaster.widget.textcounter.formatters; +package com.balaganovrocks.yourmasterclean.widget.textcounter.formatters; -import com.yzy.supercleanmaster.widget.textcounter.Formatter; +import com.balaganovrocks.yourmasterclean.widget.textcounter.Formatter; /** * Created by prem on 10/28/14. diff --git a/app/src/main/java/com/ikimuhendis/ldrawer/ActionBarDrawerToggle.java b/app/src/main/java/com/ikimuhendis/ldrawer/ActionBarDrawerToggle.java index 795e686..b409929 100644 --- a/app/src/main/java/com/ikimuhendis/ldrawer/ActionBarDrawerToggle.java +++ b/app/src/main/java/com/ikimuhendis/ldrawer/ActionBarDrawerToggle.java @@ -13,7 +13,7 @@ import android.view.ViewGroup; import android.widget.ImageView; -import com.yzy.supercleanmaster.R; +import com.balaganovrocks.yourmasterclean.R; import java.lang.reflect.Method; diff --git a/app/src/main/java/com/ikimuhendis/ldrawer/DrawerArrowDrawable.java b/app/src/main/java/com/ikimuhendis/ldrawer/DrawerArrowDrawable.java index e897630..71b221d 100644 --- a/app/src/main/java/com/ikimuhendis/ldrawer/DrawerArrowDrawable.java +++ b/app/src/main/java/com/ikimuhendis/ldrawer/DrawerArrowDrawable.java @@ -10,7 +10,7 @@ import android.graphics.Rect; import android.graphics.drawable.Drawable; -import com.yzy.supercleanmaster.R; +import com.balaganovrocks.yourmasterclean.R; public abstract class DrawerArrowDrawable extends Drawable { diff --git a/app/src/main/java/com/john/waveview/Wave.java b/app/src/main/java/com/john/waveview/Wave.java index 2e4e793..6f5cf2f 100644 --- a/app/src/main/java/com/john/waveview/Wave.java +++ b/app/src/main/java/com/john/waveview/Wave.java @@ -8,7 +8,7 @@ import android.view.View; import android.view.ViewGroup; -import com.yzy.supercleanmaster.R; +import com.balaganovrocks.yourmasterclean.R; // y=Asin(ωx+φ)+k diff --git a/app/src/main/java/com/john/waveview/WaveView.java b/app/src/main/java/com/john/waveview/WaveView.java index b8bfb5b..7080a62 100644 --- a/app/src/main/java/com/john/waveview/WaveView.java +++ b/app/src/main/java/com/john/waveview/WaveView.java @@ -9,7 +9,7 @@ import android.view.ViewGroup; import android.widget.LinearLayout; -import com.yzy.supercleanmaster.R; +import com.balaganovrocks.yourmasterclean.R; /** diff --git a/app/src/main/java/com/yzy/supercleanmaster/adapter/AutoStartAdapter.java b/app/src/main/java/com/yzy/supercleanmaster/adapter/AutoStartAdapter.java deleted file mode 100644 index c45379f..0000000 --- a/app/src/main/java/com/yzy/supercleanmaster/adapter/AutoStartAdapter.java +++ /dev/null @@ -1,183 +0,0 @@ -package com.yzy.supercleanmaster.adapter; - -import android.content.Context; -import android.os.Handler; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.BaseAdapter; -import android.widget.ImageView; -import android.widget.TextView; - -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.fragment.AutoStartFragment; -import com.yzy.supercleanmaster.model.AutoStartInfo; -import com.yzy.supercleanmaster.utils.ShellUtils; -import com.yzy.supercleanmaster.utils.T; - -import java.util.ArrayList; -import java.util.List; - -public class AutoStartAdapter extends BaseAdapter { - - public List mlistAppInfo; - LayoutInflater infater = null; - private Context mContext; - public static List clearIds; - private Handler mHandler; - - public AutoStartAdapter(Context context, List apps, Handler mHandler) { - infater = LayoutInflater.from(context); - mContext = context; - clearIds = new ArrayList(); - this.mlistAppInfo = apps; - this.mHandler = mHandler; - } - - @Override - public int getCount() { - // TODO Auto-generated method stub - return mlistAppInfo.size(); - } - - @Override - public Object getItem(int position) { - // TODO Auto-generated method stub - return mlistAppInfo.get(position); - } - - @Override - public long getItemId(int position) { - // TODO Auto-generated method stub - return position; - } - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - ViewHolder holder = null; - if (convertView == null) { - convertView = infater.inflate(R.layout.listview_auto_start, - null); - holder = new ViewHolder(); - holder.appIcon = (ImageView) convertView - .findViewById(R.id.app_icon); - holder.appName = (TextView) convertView - .findViewById(R.id.app_name); - holder.size = (TextView) convertView - .findViewById(R.id.app_size); - holder.disable_switch = (TextView) convertView - .findViewById(R.id.disable_switch); - - convertView.setTag(holder); - } else { - holder = (ViewHolder) convertView.getTag(); - } - final AutoStartInfo item = (AutoStartInfo) getItem(position); - if (item != null) { - holder.appIcon.setImageDrawable(item.getIcon()); - holder.appName.setText(item.getLabel()); - if (item.isEnable()) { - holder.disable_switch.setBackgroundResource(R.drawable.switch_on); - holder.disable_switch.setText("已开启"); - } else { - holder.disable_switch.setBackgroundResource(R.drawable.switch_off); - holder.disable_switch.setText("已禁止"); - } - // holder.size.setText(Formatter.formatShortFileSize(mContext, item.getCacheSize())); - - holder.disable_switch.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - - - if (ShellUtils.checkRootPermission()) { - - if (item.isEnable()) { - - - diasableApp(item); - } else { - - enableApp(item); - } - - } else { - - T.showLong(mContext, "该功能需要获取系统root权限,点击允许获取root权限"); - - } - - } - }); - holder.packageName = item.getPackageName(); - } - - - return convertView; - } - - private void diasableApp(AutoStartInfo item) { - String packageReceiverList[] = item.getPackageReceiver().toString().split(";"); - - List mSring = new ArrayList<>(); - for (int j = 0; j < packageReceiverList.length; j++) { - String cmd = "pm disable " + packageReceiverList[j]; - //部分receiver包含$符号,需要做进一步处理,用"$"替换掉$ - cmd = cmd.replace("$", "\"" + "$" + "\""); - //执行命令 - mSring.add(cmd); - - } - ShellUtils.CommandResult mCommandResult = ShellUtils.execCommand(mSring, true, true); - - if (mCommandResult.result == 0) { - T.showLong(mContext, item.getLabel() + "已禁止"); - item.setEnable(false); - notifyDataSetChanged(); - if (mHandler != null) { - mHandler.sendEmptyMessage(AutoStartFragment.REFRESH_BT); - } - } else { - T.showLong(mContext, item.getLabel() + "禁止失败"); - } - - // T.showLong(mContext, mCommandResult.result + "" + mCommandResult.errorMsg + mCommandResult.successMsg); - } - - private void enableApp(AutoStartInfo item) { - String packageReceiverList[] = item.getPackageReceiver().toString().split(";"); - - List mSring = new ArrayList<>(); - for (int j = 0; j < packageReceiverList.length; j++) { - String cmd = "pm enable " + packageReceiverList[j]; - //部分receiver包含$符号,需要做进一步处理,用"$"替换掉$ - cmd = cmd.replace("$", "\"" + "$" + "\""); - //执行命令 - mSring.add(cmd); - - } - ShellUtils.CommandResult mCommandResult = ShellUtils.execCommand(mSring, true, true); - - if (mCommandResult.result == 0) { - T.showLong(mContext, item.getLabel() + "已开启"); - item.setEnable(true); - notifyDataSetChanged(); - if (mHandler != null) { - mHandler.sendEmptyMessage(AutoStartFragment.REFRESH_BT); - } - } else { - T.showLong(mContext, item.getLabel() + "开启失败"); - } - // T.showLong(mContext, mCommandResult.result + "" + mCommandResult.errorMsg + mCommandResult.successMsg); - } - - class ViewHolder { - ImageView appIcon; - TextView appName; - TextView size; - TextView disable_switch; - - String packageName; - } - -} diff --git a/app/src/main/java/com/yzy/supercleanmaster/base/BaseApplication.java b/app/src/main/java/com/yzy/supercleanmaster/base/BaseApplication.java deleted file mode 100644 index ea6198d..0000000 --- a/app/src/main/java/com/yzy/supercleanmaster/base/BaseApplication.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.yzy.supercleanmaster.base; - -import android.app.Application; -import android.content.Context; - -public class BaseApplication extends Application { - private static BaseApplication mInstance; - - - private Context mContext; - - - // private Gson mG; - public static BaseApplication getInstance() { - return mInstance; - } - - @Override - public void onCreate() { - super.onCreate(); - mInstance = this; - - - MyCrashHandler myCrashHandler = MyCrashHandler.getInstance(); - myCrashHandler.init(getApplicationContext()); - Thread.currentThread().setUncaughtExceptionHandler(myCrashHandler); - } - - - @Override - public void onLowMemory() { - // TODO Auto-generated method stub - - android.os.Process.killProcess(android.os.Process.myPid()); - super.onLowMemory(); - - } - -} diff --git a/app/src/main/java/com/yzy/supercleanmaster/base/MyCrashHandler.java b/app/src/main/java/com/yzy/supercleanmaster/base/MyCrashHandler.java deleted file mode 100644 index 5b39196..0000000 --- a/app/src/main/java/com/yzy/supercleanmaster/base/MyCrashHandler.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.yzy.supercleanmaster.base; - -import android.content.Context; - -import java.lang.Thread.UncaughtExceptionHandler; - -public class MyCrashHandler implements UncaughtExceptionHandler { - // 保证MyCrashHandler只有一个实例 - // 2.提供一个静态的程序变量 - private static MyCrashHandler myCrashHandler; - private Context context; - - // 1.私有化构造方法 - private MyCrashHandler() { - - } - - // 3.暴露出来一个静态的方法 获取myCrashHandler - - public static synchronized MyCrashHandler getInstance() { - if (myCrashHandler == null) { - myCrashHandler = new MyCrashHandler(); - } - return myCrashHandler; - } - - public void init(Context context) { - this.context = context; - } - - // 程序发生异常的时候调用的方法 - // try catch - - public void uncaughtException(Thread thread, Throwable ex) { - // System.out.println("出现错误啦 哈哈"); - ex.printStackTrace(); -// StringBuilder sb = new StringBuilder(); -// // 1.获取当前应用程序的版本号. -// PackageManager pm = context.getPackageManager(); -// try { -// PackageInfo packinfo = pm.getPackageInfo(context.getPackageName(), -// 0); -// sb.append("程序的版本号为" + packinfo.versionName); -// sb.append("\n"); -// -// // 2.获取手机的硬件信息. -// Field[] fields = Build.class.getDeclaredFields(); -// for (int i = 0; i < fields.length; i++) { -// // 暴力反射,获取私有的字段信息 -// fields[i].setAccessible(true); -// String name = fields[i].getName(); -// sb.append(name + " = "); -// String value = fields[i].get(null).toString(); -// sb.append(value); -// sb.append("\n"); -// } -// // 3.获取程序错误的堆栈信息 . -// StringWriter writer = new StringWriter(); -// PrintWriter printWriter = new PrintWriter(writer); -// ex.printStackTrace(printWriter); -// -// String result = writer.toString(); -// sb.append(result); -// String time = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(new Date()); -// String name ="xizi"+time+".txt"; -// String fileName=Environment.getExternalStorageDirectory()+File.separator+"xz_app"+File.separator+"log"; -// -// File file1 =new File(fileName); -// if(!file1.exists()){ -// file1.mkdir(); -// } -// File file=new File(fileName,name); -// if(!file.exists()){ -// file.createNewFile(); -// } -// // File file = new File(Environment.getExternalStorageDirectory(),"error.log"); -// FileOutputStream fos = new FileOutputStream(file); -// fos.write(sb.toString().getBytes()); -// fos.close(); -// -// -// // 4.把错误信息 提交到服务器 -// -// } catch (Exception e) { -// e.printStackTrace(); -// } - - // 完成自杀的操作 - android.os.Process.killProcess(android.os.Process.myPid()); - } - -} diff --git a/app/src/main/java/com/yzy/supercleanmaster/engine/CacheInfoProvider.java b/app/src/main/java/com/yzy/supercleanmaster/engine/CacheInfoProvider.java deleted file mode 100644 index efb6f1d..0000000 --- a/app/src/main/java/com/yzy/supercleanmaster/engine/CacheInfoProvider.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.yzy.supercleanmaster.engine; - -import android.content.Context; -import android.content.pm.ApplicationInfo; -import android.content.pm.IPackageStatsObserver; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.content.pm.PackageStats; -import android.graphics.drawable.Drawable; -import android.os.Handler; -import android.os.RemoteException; - -import com.yzy.supercleanmaster.model.CacheInfo; -import com.yzy.supercleanmaster.utils.TextFormater; - -import java.lang.reflect.Method; -import java.util.List; -import java.util.Vector; - - -public class CacheInfoProvider -{ - private Handler handler; - private PackageManager packageManager; - private Vector cacheInfos; - private int size = 0; - - public CacheInfoProvider(Handler handler, Context context) - { - // 拿到一个包管理器 - packageManager = context.getPackageManager(); - this.handler = handler; - cacheInfos = new Vector(); - } - - public void initCacheInfos() - { - // 获取到所有安装了的应用程序的信息,包括那些卸载了的,但没有清除数据的应用程序 - List packageInfos = packageManager - .getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES); - size = packageInfos.size(); - for (int i = 0; i < size; i++) - { - PackageInfo packageInfo = packageInfos.get(i); - CacheInfo cacheInfo = new CacheInfo(); - // 拿到包名 - String packageName = packageInfo.packageName; - cacheInfo.setPackageName(packageName); - // 拿到应用程序的信息 - ApplicationInfo applicationInfo = packageInfo.applicationInfo; - // 拿到应用程序的程序名 - String name = applicationInfo.loadLabel(packageManager).toString(); - cacheInfo.setName(name); - // 拿到应用程序的图标 - Drawable icon = applicationInfo.loadIcon(packageManager); - cacheInfo.setIcon(icon); - - initDataSize(cacheInfo, i); - } - } - - /** - * 通过AIDL的方法来获取到应用的缓存信息,getPackageSizeInfo是PackageManager里面的一个私有方法来的 - * 我们通过反射就可以调用到它的了,但是这个方法里面会传递一个IPackageStatsObserver.Stub的对象 - * 里面就可能通过AIDL来获取我们想要的信息了 - * - * 因为这样的调用是异步的,所以当我们完成获取完这些信息之后,我们就通过handler来发送一个消息 - * 来通知我们的应用,通过getCacheInfos来获取到我们的Vector - * - * 为什么要用Vector呢,因为下面的方法是异步的,也就是有可能是多线程操作,所以我们就用了线程安全的Vector - * - * @param cacheInfo - * @param position - */ - private void initDataSize(final CacheInfo cacheInfo, final int position) - { - try - { - Method method = PackageManager.class.getMethod( - "getPackageSizeInfo", new Class[] { String.class, - IPackageStatsObserver.class }); - method.invoke(packageManager, - new Object[] { cacheInfo.getPackageName(), - new IPackageStatsObserver.Stub() - { - @Override - public void onGetStatsCompleted( - PackageStats pStats, boolean succeeded) - throws RemoteException - { - System.out.println("onGetStatsCompleted" + position); - long cacheSize = pStats.cacheSize; - long codeSize = pStats.codeSize; - long dataSize = pStats.dataSize; - - cacheInfo.setCacheSize(TextFormater - .dataSizeFormat(cacheSize)); - cacheInfo.setCodeSize(TextFormater - .dataSizeFormat(codeSize)); - cacheInfo.setDataSize(TextFormater - .dataSizeFormat(dataSize)); - - cacheInfos.add(cacheInfo); - - if (position == (size - 1)) - { - // 当完全获取完信息之后,发送一个成功的消息 - // 1对应的就是CacheClearActivity里面的FINISH - handler.sendEmptyMessage(1); - } - } - } }); - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - public Vector getCacheInfos() - { - return cacheInfos; - } - - public void setCacheInfos(Vector cacheInfos) - { - this.cacheInfos = cacheInfos; - } - -} diff --git a/app/src/main/java/com/yzy/supercleanmaster/fragment/AutoStartFragment.java b/app/src/main/java/com/yzy/supercleanmaster/fragment/AutoStartFragment.java deleted file mode 100644 index 489b0c0..0000000 --- a/app/src/main/java/com/yzy/supercleanmaster/fragment/AutoStartFragment.java +++ /dev/null @@ -1,198 +0,0 @@ -package com.yzy.supercleanmaster.fragment; - -import android.content.Context; -import android.os.Bundle; -import android.os.Handler; -import android.os.Message; -import android.support.annotation.Nullable; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.LinearLayout; -import android.widget.ListView; -import android.widget.TextView; - -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.adapter.AutoStartAdapter; -import com.yzy.supercleanmaster.base.BaseFragment; -import com.yzy.supercleanmaster.model.AutoStartInfo; -import com.yzy.supercleanmaster.utils.BootStartUtils; -import com.yzy.supercleanmaster.utils.RootUtil; -import com.yzy.supercleanmaster.utils.ShellUtils; -import com.yzy.supercleanmaster.utils.T; - -import java.util.ArrayList; -import java.util.List; - -import butterknife.ButterKnife; -import butterknife.InjectView; -import butterknife.OnClick; - - -public class AutoStartFragment extends BaseFragment { - - - Context mContext; - public static final int REFRESH_BT = 111; - private static final String ARG_POSITION = "position"; - private int position; // 0:普通软件,2 系统软件 - AutoStartAdapter mAutoStartAdapter; - - @InjectView(R.id.listview) - ListView listview; - - @InjectView(R.id.bottom_lin) - LinearLayout bottom_lin; - - @InjectView(R.id.disable_button) - Button disableButton; - @InjectView(R.id.topText) - TextView topText; - List isSystemAuto = null; - List noSystemAuto = null; - private int canDisableCom; - - - private Handler mHandler = new Handler() { - - - public void handleMessage(Message msg) { - switch (msg.what) { - case REFRESH_BT: - refeshButoom(); - - break; - } - } - }; - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - position = getArguments().getInt(ARG_POSITION); - } - - @Override - public View onCreateView(LayoutInflater inflater, - @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - // TODO Auto-generated method stub - - View view = inflater.inflate(R.layout.fragment_auto_start, container, false); - ButterKnife.inject(this, view); - mContext = getActivity(); - - return view; - } - - - @Override - public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - - fillData(); - } - - @OnClick(R.id.disable_button) - public void onClickDisable() { - RootUtil.preparezlsu(mContext); - disableAPP(); - - } - - private void disableAPP() { - List mSring = new ArrayList<>(); - for (AutoStartInfo auto : noSystemAuto) { - if (auto.isEnable()) { - String packageReceiverList[] = auto.getPackageReceiver().toString().split(";"); - for (int j = 0; j < packageReceiverList.length; j++) { - String cmd = "pm disable " + packageReceiverList[j]; - //部分receiver包含$符号,需要做进一步处理,用"$"替换掉$ - cmd = cmd.replace("$", "\"" + "$" + "\""); - //执行命令 - mSring.add(cmd); - } - } - } - - ShellUtils.CommandResult mCommandResult = ShellUtils.execCommand(mSring, true, true); - if (mCommandResult.result == 0) { - T.showLong(mContext, "应用已经全部禁止"); - for (AutoStartInfo auto : noSystemAuto) { - if (auto.isEnable()) { - auto.setEnable(false); - } - } - mAutoStartAdapter.notifyDataSetChanged(); - refeshButoom(); - } else { - T.showLong(mContext, "该功能需要获取系统root权限,请允许获取root权限"); - } - } - - - private void fillData() { - - if (position == 0) { - topText.setText("禁止下列软件自启,可提升运行速度"); - - } else { - topText.setText("禁止系统核心软件自启,将会影响手机的正常使用,请谨慎操作"); - - } - - List mAutoStartInfo = BootStartUtils.fetchAutoApps(mContext); - - // List mAutoStartInfo = BootStartUtils.fetchInstalledApps(mContext); - noSystemAuto = new ArrayList<>(); - isSystemAuto = new ArrayList<>(); - - for (AutoStartInfo a : mAutoStartInfo) { - if (a.isSystem()) { - - isSystemAuto.add(a); - } else { - noSystemAuto.add(a); - } - } - - if (position == 0) { - mAutoStartAdapter = new AutoStartAdapter(mContext, noSystemAuto, mHandler); - listview.setAdapter(mAutoStartAdapter); - refeshButoom(); - } else { - - mAutoStartAdapter = new AutoStartAdapter(mContext, isSystemAuto, null); - listview.setAdapter(mAutoStartAdapter); - - } - - - } - - private void refeshButoom() { - if (position == 0) { - canDisableCom = 0; - for (AutoStartInfo autoS : noSystemAuto) { - if (autoS.isEnable()) { - canDisableCom++; - } - } - if (canDisableCom > 0) { - bottom_lin.setVisibility(View.VISIBLE); - disableButton.setText("可优化" + canDisableCom + "款"); - } else { - bottom_lin.setVisibility(View.GONE); - } - } - - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - ButterKnife.reset(this); - } - -} diff --git a/app/src/main/java/com/yzy/supercleanmaster/fragment/DeciveInfoFragment.java b/app/src/main/java/com/yzy/supercleanmaster/fragment/DeciveInfoFragment.java deleted file mode 100644 index 4afa1ab..0000000 --- a/app/src/main/java/com/yzy/supercleanmaster/fragment/DeciveInfoFragment.java +++ /dev/null @@ -1,184 +0,0 @@ -package com.yzy.supercleanmaster.fragment; - -import android.content.Context; -import android.graphics.Bitmap; -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.view.KeyEvent; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.webkit.JsPromptResult; -import android.webkit.JsResult; -import android.webkit.WebChromeClient; -import android.webkit.WebSettings; -import android.webkit.WebView; -import android.webkit.WebViewClient; -import android.widget.ProgressBar; - -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.base.BaseFragment; - -import butterknife.ButterKnife; -import butterknife.InjectView; - - -public class DeciveInfoFragment extends BaseFragment { - - @InjectView(R.id.webView) - WebView mWebView; - @InjectView(R.id.progress_bar) - ProgressBar mProgressBar; - Context mContext; - @Override - public View onCreateView(LayoutInflater inflater, - @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - // TODO Auto-generated method stub - - View view = inflater.inflate(R.layout.fragment_device_info, container, false); - ButterKnife.inject(this, view); - mContext = getActivity(); - - return view; - } - - - @Override - public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - - initWebview(); - } - - private void fillData() { - - } - - - @Override - public void onDestroyView() { - super.onDestroyView(); - ButterKnife.reset(this); - } - private void initWebview() { - // TODO Auto-generated method stub - WebSettings webSettings = mWebView.getSettings(); - webSettings.setJavaScriptEnabled(true); - // 设置可以访问文件 - webSettings.setAllowFileAccess(true); - // 设置可以支持缩放 - webSettings.setSupportZoom(true); - // 设置默认缩放方式尺寸是far - webSettings.setDefaultZoom(WebSettings.ZoomDensity.MEDIUM); - // 设置出现缩放工具 - webSettings.setBuiltInZoomControls(false); - webSettings.setDefaultFontSize(20); - - // 访问assets目录下的文件 - - mWebView.loadUrl("http://girl-atlas.com/"); - - // 设置WebViewClient - mWebView.setWebViewClient(new WebViewClient() { - // url拦截 - @Override - public boolean shouldOverrideUrlLoading(WebView view, String url) { - // 使用自己的WebView组件来响应Url加载事件,而不是使用默认浏览器器加载页面 - view.loadUrl(url); - // 相应完成返回true - return true; - // return super.shouldOverrideUrlLoading(view, url); - } - - // 页面开始加载 - @Override - public void onPageStarted(WebView view, String url, Bitmap favicon) { - mProgressBar.setVisibility(View.VISIBLE); - super.onPageStarted(view, url, favicon); - } - - // 页面加载完成 - @Override - public void onPageFinished(WebView view, String url) { - mProgressBar.setVisibility(View.GONE); - super.onPageFinished(view, url); - } - - // WebView加载的所有资源url - @Override - public void onLoadResource(WebView view, String url) { - super.onLoadResource(view, url); - } - - @Override - public void onReceivedError(WebView view, int errorCode, - String description, String failingUrl) { - super.onReceivedError(view, errorCode, description, failingUrl); - } - - }); - - // 设置WebChromeClient - mWebView.setWebChromeClient(new WebChromeClient() { - @Override - // 处理javascript中的alert - public boolean onJsAlert(WebView view, String url, String message, - final JsResult result) { - return super.onJsAlert(view, url, message, result); - }; - - @Override - // 处理javascript中的confirm - public boolean onJsConfirm(WebView view, String url, - String message, final JsResult result) { - return super.onJsConfirm(view, url, message, result); - }; - - @Override - // 处理javascript中的prompt - public boolean onJsPrompt(WebView view, String url, String message, - String defaultValue, final JsPromptResult result) { - return super.onJsPrompt(view, url, message, defaultValue, - result); - }; - - // 设置网页加载的进度条 - @Override - public void onProgressChanged(WebView view, int newProgress) { - mProgressBar.setProgress(newProgress); - super.onProgressChanged(view, newProgress); - } - - // 设置程序的Title - @Override - public void onReceivedTitle(WebView view, String title) { - super.onReceivedTitle(view, title); - } - }); - mWebView.setOnKeyListener(new View.OnKeyListener() { - @Override - public boolean onKey(View v, int keyCode, KeyEvent event) { - if (event.getAction() == KeyEvent.ACTION_DOWN) { - if (keyCode == KeyEvent.KEYCODE_BACK - && mWebView.canGoBack()) { // 表示按返回键 - - mWebView.goBack(); // 后退 - - // webview.goForward();//前进 - return true; // 已处理 - } - } - return false; - } - }); - } - - public boolean canBack() { - if (mWebView.canGoBack()) { - mWebView.goBack(); - return false; - } - return true; - } - -} diff --git a/app/src/main/java/com/yzy/supercleanmaster/fragment/NavigationDrawerFragment.java b/app/src/main/java/com/yzy/supercleanmaster/fragment/NavigationDrawerFragment.java deleted file mode 100644 index ec86329..0000000 --- a/app/src/main/java/com/yzy/supercleanmaster/fragment/NavigationDrawerFragment.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.yzy.supercleanmaster.fragment; - -import android.app.ActionBar; -import android.app.Activity; -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v4.view.GravityCompat; -import android.support.v4.widget.DrawerLayout; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.RadioButton; - -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.base.BaseFragment; - -import butterknife.ButterKnife; - - -public class NavigationDrawerFragment extends BaseFragment { - - private DrawerLayout mDrawerLayout; - private View mFragmentContainerView; - private boolean mFromSavedInstanceState; - private NavigationDrawerCallbacks mCallbacks; - final int radioIds[] = { - R.id.radio0, - R.id.radio1, - R.id.radio2 - - }; - RadioButton radios[] = new RadioButton[radioIds.length]; - - @Override - public void onActivityCreated(Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - // Indicate that this fragment would like to influence the set of - // actions in the action bar. - setHasOptionsMenu(true); - } - - @Override - public View onCreateView(LayoutInflater inflater, - @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - // TODO Auto-generated method stub - - View view = inflater.inflate(R.layout.fragment_navigation_drawer, - container, false); - ButterKnife.inject(this, view); - return view; - } - - - @Override - public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - - fillData(); - } - - private void fillData() { - - - for (int i = 0; i < radioIds.length; ++i) { - radios[i] = (RadioButton) getView().findViewById(radioIds[i]); - radios[i].setOnClickListener(clickItem); - } - } - - - public void setUp(int fragmentId, DrawerLayout drawerLayout) { - mFragmentContainerView = getActivity().findViewById(fragmentId); - mDrawerLayout = drawerLayout; - - mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); - - - } - - - View.OnClickListener clickItem = new View.OnClickListener() { - @Override - public void onClick(View v) { - for (int i = 0; i < radios.length; ++i) { - if (v.equals(radios[i])) { - selectItem(i); - } else { - radios[i].setChecked(false); - } - } - } - }; - - - private void selectItem(int position) { -// if (mDrawerLayout != null) { -// mDrawerLayout.closeDrawer(mFragmentContainerView); -// } - if (mCallbacks != null) { - mCallbacks.onNavigationDrawerItemSelected(position); - } - } - - - private ActionBar getActionBar() { - return getActivity().getActionBar(); - } - - @Override - public void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - } - - - @Override - public void onAttach(Activity activity) { - super.onAttach(activity); - try { - mCallbacks = (NavigationDrawerCallbacks) activity; - } catch (ClassCastException e) { - throw new ClassCastException( - "Activity must implement NavigationDrawerCallbacks."); - } - } - - @Override - public void onDetach() { - super.onDetach(); - mCallbacks = null; - } - - public static interface NavigationDrawerCallbacks { - void onNavigationDrawerItemSelected(int position); - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - ButterKnife.reset(this); - } -} diff --git a/app/src/main/java/com/yzy/supercleanmaster/fragment/RelaxFragment.java b/app/src/main/java/com/yzy/supercleanmaster/fragment/RelaxFragment.java deleted file mode 100644 index 07082d5..0000000 --- a/app/src/main/java/com/yzy/supercleanmaster/fragment/RelaxFragment.java +++ /dev/null @@ -1,184 +0,0 @@ -package com.yzy.supercleanmaster.fragment; - -import android.content.Context; -import android.graphics.Bitmap; -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.view.KeyEvent; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.webkit.JsPromptResult; -import android.webkit.JsResult; -import android.webkit.WebChromeClient; -import android.webkit.WebSettings; -import android.webkit.WebView; -import android.webkit.WebViewClient; -import android.widget.ProgressBar; - -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.base.BaseFragment; - -import butterknife.ButterKnife; -import butterknife.InjectView; - - -public class RelaxFragment extends BaseFragment { - - @InjectView(R.id.webView) - WebView mWebView; - @InjectView(R.id.progress_bar) - ProgressBar mProgressBar; - Context mContext; - @Override - public View onCreateView(LayoutInflater inflater, - @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - // TODO Auto-generated method stub - - View view = inflater.inflate(R.layout.fragment_relax, container, false); - ButterKnife.inject(this, view); - mContext = getActivity(); - - return view; - } - - - @Override - public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - - initWebview(); - } - - private void fillData() { - - } - - - @Override - public void onDestroyView() { - super.onDestroyView(); - ButterKnife.reset(this); - } - private void initWebview() { - // TODO Auto-generated method stub - WebSettings webSettings = mWebView.getSettings(); - webSettings.setJavaScriptEnabled(true); - // 设置可以访问文件 - webSettings.setAllowFileAccess(true); - // 设置可以支持缩放 - webSettings.setSupportZoom(true); - // 设置默认缩放方式尺寸是far - webSettings.setDefaultZoom(WebSettings.ZoomDensity.MEDIUM); - // 设置出现缩放工具 - webSettings.setBuiltInZoomControls(false); - webSettings.setDefaultFontSize(20); - - // 访问assets目录下的文件 - - mWebView.loadUrl("http://girl-atlas.com/"); - - // 设置WebViewClient - mWebView.setWebViewClient(new WebViewClient() { - // url拦截 - @Override - public boolean shouldOverrideUrlLoading(WebView view, String url) { - // 使用自己的WebView组件来响应Url加载事件,而不是使用默认浏览器器加载页面 - view.loadUrl(url); - // 相应完成返回true - return true; - // return super.shouldOverrideUrlLoading(view, url); - } - - // 页面开始加载 - @Override - public void onPageStarted(WebView view, String url, Bitmap favicon) { - mProgressBar.setVisibility(View.VISIBLE); - super.onPageStarted(view, url, favicon); - } - - // 页面加载完成 - @Override - public void onPageFinished(WebView view, String url) { - mProgressBar.setVisibility(View.GONE); - super.onPageFinished(view, url); - } - - // WebView加载的所有资源url - @Override - public void onLoadResource(WebView view, String url) { - super.onLoadResource(view, url); - } - - @Override - public void onReceivedError(WebView view, int errorCode, - String description, String failingUrl) { - super.onReceivedError(view, errorCode, description, failingUrl); - } - - }); - - // 设置WebChromeClient - mWebView.setWebChromeClient(new WebChromeClient() { - @Override - // 处理javascript中的alert - public boolean onJsAlert(WebView view, String url, String message, - final JsResult result) { - return super.onJsAlert(view, url, message, result); - }; - - @Override - // 处理javascript中的confirm - public boolean onJsConfirm(WebView view, String url, - String message, final JsResult result) { - return super.onJsConfirm(view, url, message, result); - }; - - @Override - // 处理javascript中的prompt - public boolean onJsPrompt(WebView view, String url, String message, - String defaultValue, final JsPromptResult result) { - return super.onJsPrompt(view, url, message, defaultValue, - result); - }; - - // 设置网页加载的进度条 - @Override - public void onProgressChanged(WebView view, int newProgress) { - mProgressBar.setProgress(newProgress); - super.onProgressChanged(view, newProgress); - } - - // 设置程序的Title - @Override - public void onReceivedTitle(WebView view, String title) { - super.onReceivedTitle(view, title); - } - }); - mWebView.setOnKeyListener(new View.OnKeyListener() { - @Override - public boolean onKey(View v, int keyCode, KeyEvent event) { - if (event.getAction() == KeyEvent.ACTION_DOWN) { - if (keyCode == KeyEvent.KEYCODE_BACK - && mWebView.canGoBack()) { // 表示按返回键 - - mWebView.goBack(); // 后退 - - // webview.goForward();//前进 - return true; // 已处理 - } - } - return false; - } - }); - } - - public boolean canBack() { - if (mWebView.canGoBack()) { - mWebView.goBack(); - return false; - } - return true; - } - -} diff --git a/app/src/main/java/com/yzy/supercleanmaster/fragment/SettingsFragment.java b/app/src/main/java/com/yzy/supercleanmaster/fragment/SettingsFragment.java deleted file mode 100644 index f00dcb1..0000000 --- a/app/src/main/java/com/yzy/supercleanmaster/fragment/SettingsFragment.java +++ /dev/null @@ -1,159 +0,0 @@ -package com.yzy.supercleanmaster.fragment; - -import android.app.Activity; -import android.content.Intent; -import android.graphics.BitmapFactory; -import android.net.Uri; -import android.os.Bundle; -import android.preference.Preference; -import android.preference.PreferenceFragment; - -import com.umeng.socialize.bean.RequestType; -import com.umeng.socialize.controller.UMServiceFactory; -import com.umeng.socialize.controller.UMSocialService; -import com.umeng.socialize.weixin.controller.UMWXHandler; -import com.umeng.update.UmengUpdateAgent; -import com.umeng.update.UmengUpdateListener; -import com.umeng.update.UpdateResponse; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.base.FragmentContainerActivity; -import com.yzy.supercleanmaster.ui.AboutActivity; -import com.yzy.supercleanmaster.utils.AppUtil; -import com.yzy.supercleanmaster.utils.T; -import com.yzy.supercleanmaster.utils.Utils; - - -public class SettingsFragment extends PreferenceFragment implements Preference.OnPreferenceClickListener { - - - public static void launch(Activity from) { - FragmentContainerActivity.launch(from, SettingsFragment.class, null); - } - - private Preference createShortCut; - private Preference pVersion; - private Preference pVersionDetail; - private Preference pGithub;// Github - private Preference pGrade;// Github - private Preference pShare;// Github - private Preference pAbout;// Github - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - - } - - @Override - public void onActivityCreated(Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - addPreferencesFromResource(R.xml.ui_settings); - getActivity().getActionBar().setDisplayHomeAsUpEnabled(true); - getActivity().getActionBar().setDisplayShowHomeEnabled(false); - getActivity().getActionBar().setTitle(R.string.title_settings); - - createShortCut = findPreference("createShortCut"); - createShortCut.setOnPreferenceClickListener(this); - pVersion = findPreference("pVersion"); - pVersion.setOnPreferenceClickListener(this); - pVersionDetail = findPreference("pVersionDetail"); - pVersionDetail.setSummary("当前版本:" + AppUtil.getVersion(getActivity())); - pVersionDetail.setOnPreferenceClickListener(this); - - pGithub = findPreference("pGithub"); - pGithub.setOnPreferenceClickListener(this); - pGrade = findPreference("pGrade"); - pGrade.setOnPreferenceClickListener(this); - pShare = findPreference("pShare"); - pShare.setOnPreferenceClickListener(this); - pAbout = findPreference("pAbout"); - pAbout.setOnPreferenceClickListener(this); - initData(); - } - - - @Override - public boolean onPreferenceClick(Preference preference) { - if ("createShortCut".equals(preference.getKey())) { - createShortCut(); - } else if ("pVersion".equals(preference.getKey())) { - UmengUpdateAgent.forceUpdate(getActivity()); - UmengUpdateAgent.setUpdateListener(new UmengUpdateListener() { - @Override - public void onUpdateReturned(int i, UpdateResponse updateResponse) { - if (i != 0) { - T.showLong(getActivity(), "当前版本为最新版本!"); - } - - } - }); - } else if ("pVersionDetail".equals(preference.getKey())) { - VersionFragment.launch(getActivity()); - } else if ("pGithub".equals(preference.getKey())) { - Utils.launchBrowser(getActivity(), "https://github.com/joyoyao/superCleanMaster"); - }else if ("pGrade".equals(preference.getKey())) { - startMarket(); - }else if ("pShare".equals(preference.getKey())) { - shareMyApp(); - } - else if ("pAbout".equals(preference.getKey())) { - getActivity().startActivity(new Intent(getActivity(), AboutActivity.class)); - } - return false; - } - - private void shareMyApp() { - - UMSocialService mController = UMServiceFactory.getUMSocialService("com.umeng.share", RequestType.SOCIAL); - mController.setShareContent("一键清理(开源版)一键清理手机进程,真心不错呀,推荐您使用!."); - mController.openShare(getActivity(), false); - - } - - private void initData() { - String appID = "wxa263da737a20300e"; - String appSecret = "381a2fab6466410c674afaa40c77c953"; -// 添加微信平台 - UMWXHandler wxHandler = new UMWXHandler(getActivity(),appID,appSecret); - wxHandler.addToSocialSDK(); -// 添加微信朋友圈 - UMWXHandler wxCircleHandler = new UMWXHandler(getActivity(),appID,appSecret); - wxCircleHandler.setToCircle(true); - wxCircleHandler.addToSocialSDK(); - - - - } - - - private void createShortCut() { - // TODO Auto-generated method stub - Intent intent = new Intent(); - intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); - intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "一键加速"); - intent.putExtra("duplicate", false); - intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.short_cut_icon)); - Intent i = new Intent(); - i.setAction("com.yzy.shortcut"); - i.addCategory("android.intent.category.DEFAULT"); - intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, i); - getActivity().sendBroadcast(intent); - T.showLong(getActivity(), "“一键加速”快捷图标已创建"); - - } - - - public void startMarket() { - Uri uri = Uri.parse(String.format("market://details?id=%s", AppUtil.getPackageInfo(getActivity()).packageName)); - if (Utils.isIntentSafe(getActivity(), uri)) { - Intent intent = new Intent(Intent.ACTION_VIEW, uri); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - getActivity().startActivity(intent); - } - // 没有安装市场 - else { - T.showLong(getActivity(),"无法打开应用市场"); - - } - } -} diff --git a/app/src/main/java/com/yzy/supercleanmaster/ui/RubbishCleanActivity.java b/app/src/main/java/com/yzy/supercleanmaster/ui/RubbishCleanActivity.java deleted file mode 100644 index 3db3757..0000000 --- a/app/src/main/java/com/yzy/supercleanmaster/ui/RubbishCleanActivity.java +++ /dev/null @@ -1,302 +0,0 @@ -package com.yzy.supercleanmaster.ui; - -import android.annotation.TargetApi; -import android.app.ActionBar; -import android.content.ComponentName; -import android.content.Context; -import android.content.Intent; -import android.content.ServiceConnection; -import android.content.res.Resources; -import android.os.Build; -import android.os.Bundle; -import android.os.IBinder; -import android.support.annotation.NonNull; -import android.text.format.Formatter; -import android.view.MenuItem; -import android.view.View; -import android.view.ViewGroup; -import android.view.Window; -import android.view.WindowManager; -import android.view.animation.AnimationUtils; -import android.widget.Button; -import android.widget.LinearLayout; -import android.widget.ListView; -import android.widget.RelativeLayout; -import android.widget.TextView; -import android.widget.Toast; - -import com.etiennelawlor.quickreturn.library.enums.QuickReturnType; -import com.etiennelawlor.quickreturn.library.listeners.QuickReturnListViewOnScrollListener; -import com.nhaarman.listviewanimations.appearance.simple.SwingBottomInAnimationAdapter; -import com.nhaarman.listviewanimations.itemmanipulation.swipedismiss.OnDismissCallback; -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.adapter.RublishMemoryAdapter; -import com.yzy.supercleanmaster.base.BaseSwipeBackActivity; -import com.yzy.supercleanmaster.model.CacheListItem; -import com.yzy.supercleanmaster.model.StorageSize; -import com.yzy.supercleanmaster.service.CleanerService; -import com.yzy.supercleanmaster.utils.StorageUtil; -import com.yzy.supercleanmaster.utils.SystemBarTintManager; -import com.yzy.supercleanmaster.utils.UIElementsHelper; -import com.yzy.supercleanmaster.widget.textcounter.CounterView; -import com.yzy.supercleanmaster.widget.textcounter.formatters.DecimalFormatter; - -import java.util.ArrayList; -import java.util.List; - -import butterknife.InjectView; -import butterknife.OnClick; - - -public class RubbishCleanActivity extends BaseSwipeBackActivity implements OnDismissCallback, CleanerService.OnActionListener { - - ActionBar ab; - protected static final int SCANING = 5; - - protected static final int SCAN_FINIFSH = 6; - protected static final int PROCESS_MAX = 8; - protected static final int PROCESS_PROCESS = 9; - - private static final int INITIAL_DELAY_MILLIS = 300; - SwingBottomInAnimationAdapter swingBottomInAnimationAdapter; - Resources res; - int ptotal = 0; - int pprocess = 0; - - - private CleanerService mCleanerService; - - private boolean mAlreadyScanned = false; - private boolean mAlreadyCleaned = false; - - @InjectView(R.id.listview) - ListView mListView; - - @InjectView(R.id.empty) - TextView mEmptyView; - - @InjectView(R.id.header) - RelativeLayout header; - - - @InjectView(R.id.textCounter) - CounterView textCounter; - @InjectView(R.id.sufix) - TextView sufix; - - @InjectView(R.id.progressBar) - View mProgressBar; - @InjectView(R.id.progressBarText) - TextView mProgressBarText; - - RublishMemoryAdapter rublishMemoryAdapter; - - List mCacheListItem = new ArrayList<>(); - - @InjectView(R.id.bottom_lin) - LinearLayout bottom_lin; - - @InjectView(R.id.clear_button) - Button clearButton; - - private ServiceConnection mServiceConnection = new ServiceConnection() { - @Override - public void onServiceConnected(ComponentName name, IBinder service) { - mCleanerService = ((CleanerService.CleanerServiceBinder) service).getService(); - mCleanerService.setOnActionListener(RubbishCleanActivity.this); - - // updateStorageUsage(); - - if (!mCleanerService.isScanning() && !mAlreadyScanned) { - mCleanerService.scanCache(); - } - } - - @Override - public void onServiceDisconnected(ComponentName name) { - mCleanerService.setOnActionListener(null); - mCleanerService = null; - } - }; - - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_rublish_clean); - getActionBar().setDisplayHomeAsUpEnabled(true); - // applyKitKatTranslucency(); - -// StikkyHeaderBuilder.stickTo(mListView).setHeader(header) -// .minHeightHeaderPixel(0).build(); - res = getResources(); - - - int footerHeight = mContext.getResources().getDimensionPixelSize(R.dimen.footer_height); - - mListView.setEmptyView(mEmptyView); - rublishMemoryAdapter = new RublishMemoryAdapter(mContext, mCacheListItem); - mListView.setAdapter(rublishMemoryAdapter); - mListView.setOnItemClickListener(rublishMemoryAdapter); - mListView.setOnScrollListener(new QuickReturnListViewOnScrollListener(QuickReturnType.FOOTER, null, 0, bottom_lin, footerHeight)); - bindService(new Intent(mContext, CleanerService.class), - mServiceConnection, Context.BIND_AUTO_CREATE); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // TODO Auto-generated method stub - if (item.getItemId() == android.R.id.home) { - finish(); - return true; - } - return super.onOptionsItemSelected(item); - } - - @Override - public void onDismiss(@NonNull ViewGroup viewGroup, @NonNull int[] ints) { - - } - - @Override - public void onScanStarted(Context context) { - mProgressBarText.setText(R.string.scanning); - showProgressBar(true); - } - - @Override - public void onScanProgressUpdated(Context context, int current, int max) { - mProgressBarText.setText(getString(R.string.scanning_m_of_n, current, max)); - - } - - @Override - public void onScanCompleted(Context context, List apps) { - showProgressBar(false); - mCacheListItem.clear(); - mCacheListItem.addAll(apps); - rublishMemoryAdapter.notifyDataSetChanged(); - header.setVisibility(View.GONE); - if (apps.size() > 0) { - header.setVisibility(View.VISIBLE); - bottom_lin.setVisibility(View.VISIBLE); - - long medMemory = mCleanerService != null ? mCleanerService.getCacheSize() : 0; - - StorageSize mStorageSize = StorageUtil.convertStorageSize(medMemory); - textCounter.setAutoFormat(false); - textCounter.setFormatter(new DecimalFormatter()); - textCounter.setAutoStart(false); - textCounter.setStartValue(0f); - textCounter.setEndValue(mStorageSize.value); - textCounter.setIncrement(5f); // the amount the number increments at each time interval - textCounter.setTimeInterval(50); // the time interval (ms) at which the text changes - sufix.setText(mStorageSize.suffix); - // textCounter.setSuffix(mStorageSize.suffix); - textCounter.start(); - } else { - header.setVisibility(View.GONE); - bottom_lin.setVisibility(View.GONE); - } - - if (!mAlreadyScanned) { - mAlreadyScanned = true; - - } - - - } - - @Override - public void onCleanStarted(Context context) { - if (isProgressBarVisible()) { - showProgressBar(false); - } - - if (!RubbishCleanActivity.this.isFinishing()) { - showDialogLoading(); - } - } - - @Override - public void onCleanCompleted(Context context, long cacheSize) { - dismissDialogLoading(); - Toast.makeText(context, context.getString(R.string.cleaned, Formatter.formatShortFileSize( - mContext, cacheSize)), Toast.LENGTH_LONG).show(); - header.setVisibility(View.GONE); - bottom_lin.setVisibility(View.GONE); - mCacheListItem.clear(); - rublishMemoryAdapter.notifyDataSetChanged(); - } - - - /** - * Apply KitKat specific translucency. - */ - private void applyKitKatTranslucency() { - - // KitKat translucent navigation/status bar. - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { - setTranslucentStatus(true); - SystemBarTintManager mTintManager = new SystemBarTintManager(this); - mTintManager.setStatusBarTintEnabled(true); - mTintManager.setNavigationBarTintEnabled(true); - // mTintManager.setTintColor(0xF00099CC); - - mTintManager.setTintDrawable(UIElementsHelper - .getGeneralActionBarBackground(this)); - - getActionBar().setBackgroundDrawable( - UIElementsHelper.getGeneralActionBarBackground(this)); - - } - - } - - - @OnClick(R.id.clear_button) - public void onClickClear() { - - if (mCleanerService != null && !mCleanerService.isScanning() && - !mCleanerService.isCleaning() && mCleanerService.getCacheSize() > 0) { - mAlreadyCleaned = false; - - mCleanerService.cleanCache(); - } - } - - - @TargetApi(19) - private void setTranslucentStatus(boolean on) { - Window win = getWindow(); - WindowManager.LayoutParams winParams = win.getAttributes(); - final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; - if (on) { - winParams.flags |= bits; - } else { - winParams.flags &= ~bits; - } - win.setAttributes(winParams); - } - - - private boolean isProgressBarVisible() { - return mProgressBar.getVisibility() == View.VISIBLE; - } - - private void showProgressBar(boolean show) { - if (show) { - mProgressBar.setVisibility(View.VISIBLE); - } else { - mProgressBar.startAnimation(AnimationUtils.loadAnimation( - mContext, android.R.anim.fade_out)); - mProgressBar.setVisibility(View.GONE); - } - } - - public void onDestroy() { - unbindService(mServiceConnection); - super.onDestroy(); - } - -} diff --git a/app/src/main/java/com/yzy/supercleanmaster/ui/SplishActivity.java b/app/src/main/java/com/yzy/supercleanmaster/ui/SplishActivity.java deleted file mode 100644 index 04e32f5..0000000 --- a/app/src/main/java/com/yzy/supercleanmaster/ui/SplishActivity.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.yzy.supercleanmaster.ui; - -import android.content.Intent; -import android.graphics.BitmapFactory; -import android.os.Bundle; -import android.view.animation.Animation; -import android.view.animation.Animation.AnimationListener; -import android.view.animation.AnimationUtils; -import android.widget.ImageView; - -import com.yzy.supercleanmaster.R; -import com.yzy.supercleanmaster.base.BaseActivity; -import com.yzy.supercleanmaster.service.CleanerService; -import com.yzy.supercleanmaster.service.CoreService; -import com.yzy.supercleanmaster.utils.SharedPreferencesUtils; - -import java.util.Random; - - -public class SplishActivity extends BaseActivity { - - /** - * 三个切换的动画 - */ - private Animation mFadeIn; - private Animation mFadeInScale; - private Animation mFadeOut; - - // @InjectView(R.id.image) - ImageView mImageView; - - public static final String ACTION_INSTALL_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT"; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_splish); - mImageView = (ImageView) findViewById(R.id.image); - int index = new Random().nextInt(2); - if (index == 1) { - mImageView.setImageResource(R.drawable.entrance3); - } else { - mImageView.setImageResource(R.drawable.entrance2); - } - startService(new Intent(this, CoreService.class)); - startService(new Intent(this, CleanerService.class)); - - - if (!SharedPreferencesUtils.isShortCut(mContext)) { - createShortCut(); - } - - initAnim(); - setListener(); - } - - private void createShortCut() { - // TODO Auto-generated method stub - Intent intent = new Intent(); - intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); - intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "一键加速"); - intent.putExtra("duplicate", false); - intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.short_cut_icon)); - Intent i = new Intent(); - i.setAction("com.yzy.shortcut"); - i.addCategory("android.intent.category.DEFAULT"); - intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, i); - sendBroadcast(intent); - SharedPreferencesUtils.setIsShortCut(mContext, true); - } - - private void initAnim() { - mFadeIn = AnimationUtils.loadAnimation(this, R.anim.welcome_fade_in); - mFadeIn.setDuration(500); - mFadeInScale = AnimationUtils.loadAnimation(this, - R.anim.welcome_fade_in_scale); - mFadeInScale.setDuration(2000); - mFadeOut = AnimationUtils.loadAnimation(this, R.anim.welcome_fade_out); - mFadeOut.setDuration(500); - mImageView.startAnimation(mFadeIn); - } - - - /** - * 监听事件 - */ - public void setListener() { - /** - * 动画切换原理:开始时是用第一个渐现动画,当第一个动画结束时开始第二个放大动画,当第二个动画结束时调用第三个渐隐动画, - * 第三个动画结束时修改显示的内容并且重新调用第一个动画,从而达到循环效果 - */ - mFadeIn.setAnimationListener(new AnimationListener() { - - public void onAnimationStart(Animation animation) { - - } - - public void onAnimationRepeat(Animation animation) { - - } - - public void onAnimationEnd(Animation animation) { - mImageView.startAnimation(mFadeInScale); - } - }); - mFadeInScale.setAnimationListener(new AnimationListener() { - - public void onAnimationStart(Animation animation) { - - } - - public void onAnimationRepeat(Animation animation) { - - } - - public void onAnimationEnd(Animation animation) { - startActivity(MainActivity.class); - finish(); - // mImageView.startAnimation(mFadeOut); - } - }); - mFadeOut.setAnimationListener(new AnimationListener() { - - public void onAnimationStart(Animation animation) { - - } - - public void onAnimationRepeat(Animation animation) { - - } - - public void onAnimationEnd(Animation animation) { - // startActivity(MainActivity.class); - } - }); - } -} diff --git a/app/src/main/res/drawable-xhdpi/app_icon.png b/app/src/main/res/drawable-xhdpi/app_icon.png index d3079f1..69e19d7 100644 Binary files a/app/src/main/res/drawable-xhdpi/app_icon.png and b/app/src/main/res/drawable-xhdpi/app_icon.png differ diff --git a/app/src/main/res/drawable-xhdpi/back_for_rate.png b/app/src/main/res/drawable-xhdpi/back_for_rate.png new file mode 100644 index 0000000..d043a92 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/back_for_rate.png differ diff --git a/app/src/main/res/drawable-xhdpi/background.png b/app/src/main/res/drawable-xhdpi/background.png new file mode 100644 index 0000000..3f66a26 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/background.png differ diff --git a/app/src/main/res/drawable-xhdpi/black_arrow.png b/app/src/main/res/drawable-xhdpi/black_arrow.png new file mode 100644 index 0000000..b3651e2 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/black_arrow.png differ diff --git a/app/src/main/res/drawable-xhdpi/card_icon_autorun.png b/app/src/main/res/drawable-xhdpi/card_icon_autorun.png index 8677979..f69170e 100644 Binary files a/app/src/main/res/drawable-xhdpi/card_icon_autorun.png and b/app/src/main/res/drawable-xhdpi/card_icon_autorun.png differ diff --git a/app/src/main/res/drawable-xhdpi/card_icon_media.png b/app/src/main/res/drawable-xhdpi/card_icon_media.png index 851e533..1cd963d 100644 Binary files a/app/src/main/res/drawable-xhdpi/card_icon_media.png and b/app/src/main/res/drawable-xhdpi/card_icon_media.png differ diff --git a/app/src/main/res/drawable-xhdpi/card_icon_speedup.png b/app/src/main/res/drawable-xhdpi/card_icon_speedup.png index 21eaaef..c5b6e33 100644 Binary files a/app/src/main/res/drawable-xhdpi/card_icon_speedup.png and b/app/src/main/res/drawable-xhdpi/card_icon_speedup.png differ diff --git a/app/src/main/res/drawable-xhdpi/card_icon_trash.png b/app/src/main/res/drawable-xhdpi/card_icon_trash.png index 595fa39..8ec2483 100644 Binary files a/app/src/main/res/drawable-xhdpi/card_icon_trash.png and b/app/src/main/res/drawable-xhdpi/card_icon_trash.png differ diff --git a/app/src/main/res/drawable-xhdpi/ellipse.png b/app/src/main/res/drawable-xhdpi/ellipse.png new file mode 100644 index 0000000..5827a80 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ellipse.png differ diff --git a/app/src/main/res/drawable-xhdpi/exit.png b/app/src/main/res/drawable-xhdpi/exit.png new file mode 100644 index 0000000..b8546c1 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/exit.png differ diff --git a/app/src/main/res/drawable-xhdpi/goto_battey_saving.png b/app/src/main/res/drawable-xhdpi/goto_battey_saving.png new file mode 100644 index 0000000..0545975 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/goto_battey_saving.png differ diff --git a/app/src/main/res/drawable-xhdpi/goto_memory_clean.png b/app/src/main/res/drawable-xhdpi/goto_memory_clean.png new file mode 100644 index 0000000..ca235e8 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/goto_memory_clean.png differ diff --git a/app/src/main/res/drawable-xhdpi/goto_rate_app.png b/app/src/main/res/drawable-xhdpi/goto_rate_app.png new file mode 100644 index 0000000..64e0b53 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/goto_rate_app.png differ diff --git a/app/src/main/res/drawable-xhdpi/icon_memory_clean.png b/app/src/main/res/drawable-xhdpi/icon_memory_clean.png new file mode 100644 index 0000000..2fc3df9 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/icon_memory_clean.png differ diff --git a/app/src/main/res/drawable-xhdpi/icon_rate.png b/app/src/main/res/drawable-xhdpi/icon_rate.png new file mode 100644 index 0000000..70d6f4c Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/icon_rate.png differ diff --git a/app/src/main/res/drawable-xhdpi/icon_saving_battery.png b/app/src/main/res/drawable-xhdpi/icon_saving_battery.png new file mode 100644 index 0000000..8651092 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/icon_saving_battery.png differ diff --git a/app/src/main/res/drawable-xhdpi/line.png b/app/src/main/res/drawable-xhdpi/line.png new file mode 100644 index 0000000..56e6595 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/line.png differ diff --git a/app/src/main/res/drawable-xhdpi/no_exit.png b/app/src/main/res/drawable-xhdpi/no_exit.png new file mode 100644 index 0000000..b8546c1 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/no_exit.png differ diff --git a/app/src/main/res/drawable-xhdpi/settings.png b/app/src/main/res/drawable-xhdpi/settings.png new file mode 100644 index 0000000..d393ce6 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/settings.png differ diff --git a/app/src/main/res/drawable-xhdpi/start.png b/app/src/main/res/drawable-xhdpi/start.png new file mode 100644 index 0000000..53ab1e9 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/start.png differ diff --git a/app/src/main/res/drawable-xhdpi/vect.png b/app/src/main/res/drawable-xhdpi/vect.png new file mode 100644 index 0000000..a80fe59 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/vect.png differ diff --git a/app/src/main/res/drawable-xhdpi/whight_arrow.png b/app/src/main/res/drawable-xhdpi/whight_arrow.png new file mode 100644 index 0000000..821e6f4 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/whight_arrow.png differ diff --git a/app/src/main/res/drawable/app_icon.png b/app/src/main/res/drawable/app_icon.png new file mode 100644 index 0000000..69e19d7 Binary files /dev/null and b/app/src/main/res/drawable/app_icon.png differ diff --git a/app/src/main/res/layout/about.xml b/app/src/main/res/layout/about.xml index 11dd8ef..fc044b3 100644 --- a/app/src/main/res/layout/about.xml +++ b/app/src/main/res/layout/about.xml @@ -72,7 +72,7 @@ android:layout_centerHorizontal="true" android:layout_marginTop="3.0dip" android:includeFontPadding="false" - android:text="V1.05" /> + android:text="V1.00" /> @@ -115,7 +115,7 @@ android:paddingLeft="10.0dip" android:paddingRight="10.0dip" android:singleLine="true" - android:text="作者:" + android:text="Автор:" android:textSize="15sp" /> @@ -141,35 +141,6 @@ android:focusable="true" android:orientation="horizontal"> - - - diff --git a/app/src/main/res/layout/activity_autostart_manage.xml b/app/src/main/res/layout/activity_autostart_manage.xml index 74e3fe1..5c9f9c5 100644 --- a/app/src/main/res/layout/activity_autostart_manage.xml +++ b/app/src/main/res/layout/activity_autostart_manage.xml @@ -4,7 +4,7 @@ android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent"> - + + + + + + + + + + + + + + + + + + + + +