From 3f91c10c104636403298fc130ec5c28a5da8afe8 Mon Sep 17 00:00:00 2001 From: Kr328 <39107975+Kr328@users.noreply.github.com> Date: Thu, 21 Nov 2019 21:49:53 +0800 Subject: [PATCH] MainActivity --- app/build.gradle | 1 + .../com/github/kr328/clash/view/FatButton.kt | 18 ++++ app/src/main/res/drawable/ic_about.xml | 9 ++ .../main/res/drawable/ic_clash_started.xml | 5 + .../main/res/drawable/ic_clash_stopped.xml | 5 + app/src/main/res/drawable/ic_feedback.xml | 9 ++ app/src/main/res/drawable/ic_logs.xml | 9 ++ app/src/main/res/drawable/ic_profiles.xml | 9 ++ app/src/main/res/drawable/ic_proxies.xml | 9 ++ app/src/main/res/drawable/ic_settings.xml | 9 ++ app/src/main/res/layout/activity_main.xml | 102 +++++++++++++++++- .../res/layout/activity_main_clash_status.xml | 50 +++++++++ .../res/layout/activity_main_profiles.xml | 50 +++++++++ .../res/layout/activity_main_proxy_manage.xml | 50 +++++++++ app/src/main/res/values/colors.xml | 2 + app/src/main/res/values/strings.xml | 16 +++ app/src/main/res/values/styles.xml | 4 +- .../kr328/clash/service/ClashService.kt | 8 ++ .../github/kr328/clash/service/TunService.kt | 17 ++- 19 files changed, 377 insertions(+), 5 deletions(-) create mode 100644 app/src/main/java/com/github/kr328/clash/view/FatButton.kt create mode 100644 app/src/main/res/drawable/ic_about.xml create mode 100644 app/src/main/res/drawable/ic_clash_started.xml create mode 100644 app/src/main/res/drawable/ic_clash_stopped.xml create mode 100644 app/src/main/res/drawable/ic_feedback.xml create mode 100644 app/src/main/res/drawable/ic_logs.xml create mode 100644 app/src/main/res/drawable/ic_profiles.xml create mode 100644 app/src/main/res/drawable/ic_proxies.xml create mode 100644 app/src/main/res/drawable/ic_settings.xml create mode 100644 app/src/main/res/layout/activity_main_clash_status.xml create mode 100644 app/src/main/res/layout/activity_main_profiles.xml create mode 100644 app/src/main/res/layout/activity_main_proxy_manage.xml diff --git a/app/build.gradle b/app/build.gradle index b74b6d9..0fd02f1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,4 +33,5 @@ dependencies { implementation "androidx.lifecycle:lifecycle-common-java8:2.1.0" implementation "androidx.constraintlayout:constraintlayout:1.1.3" implementation "androidx.room:room-runtime:$room_version" + implementation "com.google.android.material:material:1.2.0-alpha02" } diff --git a/app/src/main/java/com/github/kr328/clash/view/FatButton.kt b/app/src/main/java/com/github/kr328/clash/view/FatButton.kt new file mode 100644 index 0000000..684d333 --- /dev/null +++ b/app/src/main/java/com/github/kr328/clash/view/FatButton.kt @@ -0,0 +1,18 @@ +package com.github.kr328.clash.view + +import android.content.Context +import android.graphics.Canvas +import android.util.AttributeSet +import android.view.View + +class FatButton @JvmOverloads constructor(context: Context, attributeSet: AttributeSet? = null, defaultStyleAttr: Int = 0, defaultStyleRes: Int = 0) : + View(context, attributeSet, defaultStyleAttr, defaultStyleRes) { + + override fun onDraw(canvas: Canvas?) { + super.onDraw(canvas) + + canvas?.apply { + + } + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_about.xml b/app/src/main/res/drawable/ic_about.xml new file mode 100644 index 0000000..cc94088 --- /dev/null +++ b/app/src/main/res/drawable/ic_about.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_clash_started.xml b/app/src/main/res/drawable/ic_clash_started.xml new file mode 100644 index 0000000..7cdc15d --- /dev/null +++ b/app/src/main/res/drawable/ic_clash_started.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_clash_stopped.xml b/app/src/main/res/drawable/ic_clash_stopped.xml new file mode 100644 index 0000000..f8734b8 --- /dev/null +++ b/app/src/main/res/drawable/ic_clash_stopped.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_feedback.xml b/app/src/main/res/drawable/ic_feedback.xml new file mode 100644 index 0000000..29f9baa --- /dev/null +++ b/app/src/main/res/drawable/ic_feedback.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_logs.xml b/app/src/main/res/drawable/ic_logs.xml new file mode 100644 index 0000000..4a3eb4f --- /dev/null +++ b/app/src/main/res/drawable/ic_logs.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_profiles.xml b/app/src/main/res/drawable/ic_profiles.xml new file mode 100644 index 0000000..78118c1 --- /dev/null +++ b/app/src/main/res/drawable/ic_profiles.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_proxies.xml b/app/src/main/res/drawable/ic_proxies.xml new file mode 100644 index 0000000..ff485cf --- /dev/null +++ b/app/src/main/res/drawable/ic_proxies.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_settings.xml b/app/src/main/res/drawable/ic_settings.xml new file mode 100644 index 0000000..968166e --- /dev/null +++ b/app/src/main/res/drawable/ic_settings.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 73a0e7a..4938194 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -11,7 +11,107 @@ + android:layout_height="75dp" + app:contentInsetStartWithNavigation="0dp" + app:contentInsetStart="0dp" /> + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_main_clash_status.xml b/app/src/main/res/layout/activity_main_clash_status.xml new file mode 100644 index 0000000..51d0c4f --- /dev/null +++ b/app/src/main/res/layout/activity_main_clash_status.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main_profiles.xml b/app/src/main/res/layout/activity_main_profiles.xml new file mode 100644 index 0000000..8c7a202 --- /dev/null +++ b/app/src/main/res/layout/activity_main_profiles.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main_proxy_manage.xml b/app/src/main/res/layout/activity_main_proxy_manage.xml new file mode 100644 index 0000000..8ea54e9 --- /dev/null +++ b/app/src/main/res/layout/activity_main_proxy_manage.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 7d7c7a0..247b017 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -4,4 +4,6 @@ #FAFAFA #1E4376 #FFFFFF + + #d3d3d3 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fa64d33..97b0020 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,19 @@ Clash + + Clash Stopped + Click to start + Clash Started + %s Traffic Forwarded + + Proxy Manage + %d Proxies + + Profiles + %s Selected + + Logs + Settings + Feedback + About diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 100b33c..53cfbc4 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,5 +1,7 @@ -