Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
com.ccwangluo.accelerator
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sheteng
com.ccwangluo.accelerator
Commits
98df31c2
Commit
98df31c2
authored
Apr 16, 2018
by
Mygod
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use Formatter.formatFileSize
Fix #1751.
parent
04092bf8
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
12 additions
and
31 deletions
+12
-31
mobile/src/main/java/com/github/shadowsocks/MainActivity.kt
mobile/src/main/java/com/github/shadowsocks/MainActivity.kt
+5
-5
mobile/src/main/java/com/github/shadowsocks/ProfilesFragment.kt
.../src/main/java/com/github/shadowsocks/ProfilesFragment.kt
+3
-3
mobile/src/main/java/com/github/shadowsocks/bg/ServiceNotification.kt
...ain/java/com/github/shadowsocks/bg/ServiceNotification.kt
+4
-3
mobile/src/main/java/com/github/shadowsocks/bg/TrafficMonitor.kt
...src/main/java/com/github/shadowsocks/bg/TrafficMonitor.kt
+0
-16
mobile/src/main/res/values/strings.xml
mobile/src/main/res/values/strings.xml
+0
-4
No files found.
mobile/src/main/java/com/github/shadowsocks/MainActivity.kt
View file @
98df31c2
...
@@ -39,6 +39,7 @@ import android.support.v7.app.AlertDialog
...
@@ -39,6 +39,7 @@ import android.support.v7.app.AlertDialog
import
android.support.v7.app.AppCompatActivity
import
android.support.v7.app.AppCompatActivity
import
android.support.v7.content.res.AppCompatResources
import
android.support.v7.content.res.AppCompatResources
import
android.support.v7.preference.PreferenceDataStore
import
android.support.v7.preference.PreferenceDataStore
import
android.text.format.Formatter
import
android.util.Log
import
android.util.Log
import
android.view.View
import
android.view.View
import
android.widget.TextView
import
android.widget.TextView
...
@@ -49,7 +50,6 @@ import com.github.shadowsocks.aidl.IShadowsocksService
...
@@ -49,7 +50,6 @@ import com.github.shadowsocks.aidl.IShadowsocksService
import
com.github.shadowsocks.aidl.IShadowsocksServiceCallback
import
com.github.shadowsocks.aidl.IShadowsocksServiceCallback
import
com.github.shadowsocks.bg.BaseService
import
com.github.shadowsocks.bg.BaseService
import
com.github.shadowsocks.bg.Executable
import
com.github.shadowsocks.bg.Executable
import
com.github.shadowsocks.bg.TrafficMonitor
import
com.github.shadowsocks.database.Profile
import
com.github.shadowsocks.database.Profile
import
com.github.shadowsocks.database.ProfileManager
import
com.github.shadowsocks.database.ProfileManager
import
com.github.shadowsocks.preference.DataStore
import
com.github.shadowsocks.preference.DataStore
...
@@ -149,10 +149,10 @@ class MainActivity : AppCompatActivity(), ShadowsocksConnection.Interface, Drawe
...
@@ -149,10 +149,10 @@ class MainActivity : AppCompatActivity(), ShadowsocksConnection.Interface, Drawe
stateListener
?.
invoke
(
state
)
stateListener
?.
invoke
(
state
)
}
}
fun
updateTraffic
(
profileId
:
Int
,
txRate
:
Long
,
rxRate
:
Long
,
txTotal
:
Long
,
rxTotal
:
Long
)
{
fun
updateTraffic
(
profileId
:
Int
,
txRate
:
Long
,
rxRate
:
Long
,
txTotal
:
Long
,
rxTotal
:
Long
)
{
txText
.
text
=
TrafficMonitor
.
formatTraffic
(
txTotal
)
txText
.
text
=
Formatter
.
formatFileSize
(
this
,
txTotal
)
rxText
.
text
=
TrafficMonitor
.
formatTraffic
(
rxTotal
)
rxText
.
text
=
Formatter
.
formatFileSize
(
this
,
rxTotal
)
txRateText
.
text
=
getString
(
R
.
string
.
speed
,
TrafficMonitor
.
formatTraffic
(
txRate
))
txRateText
.
text
=
getString
(
R
.
string
.
speed
,
Formatter
.
formatFileSize
(
this
,
txRate
))
rxRateText
.
text
=
getString
(
R
.
string
.
speed
,
TrafficMonitor
.
formatTraffic
(
rxRate
))
rxRateText
.
text
=
getString
(
R
.
string
.
speed
,
Formatter
.
formatFileSize
(
this
,
rxRate
))
val
child
=
supportFragmentManager
.
findFragmentById
(
R
.
id
.
fragment_holder
)
as
ToolbarFragment
?
val
child
=
supportFragmentManager
.
findFragmentById
(
R
.
id
.
fragment_holder
)
as
ToolbarFragment
?
if
(
state
!=
BaseService
.
STOPPING
)
if
(
state
!=
BaseService
.
STOPPING
)
child
?.
onTrafficUpdated
(
profileId
,
txRate
,
rxRate
,
txTotal
,
rxTotal
)
child
?.
onTrafficUpdated
(
profileId
,
txRate
,
rxRate
,
txTotal
,
rxTotal
)
...
...
mobile/src/main/java/com/github/shadowsocks/ProfilesFragment.kt
View file @
98df31c2
...
@@ -33,13 +33,13 @@ import android.support.design.widget.Snackbar
...
@@ -33,13 +33,13 @@ import android.support.design.widget.Snackbar
import
android.support.v4.app.DialogFragment
import
android.support.v4.app.DialogFragment
import
android.support.v7.widget.*
import
android.support.v7.widget.*
import
android.support.v7.widget.helper.ItemTouchHelper
import
android.support.v7.widget.helper.ItemTouchHelper
import
android.text.format.Formatter
import
android.view.*
import
android.view.*
import
android.widget.ImageView
import
android.widget.ImageView
import
android.widget.LinearLayout
import
android.widget.LinearLayout
import
android.widget.TextView
import
android.widget.TextView
import
com.github.shadowsocks.App.Companion.app
import
com.github.shadowsocks.App.Companion.app
import
com.github.shadowsocks.bg.BaseService
import
com.github.shadowsocks.bg.BaseService
import
com.github.shadowsocks.bg.TrafficMonitor
import
com.github.shadowsocks.database.Profile
import
com.github.shadowsocks.database.Profile
import
com.github.shadowsocks.database.ProfileManager
import
com.github.shadowsocks.database.ProfileManager
import
com.github.shadowsocks.plugin.PluginConfiguration
import
com.github.shadowsocks.plugin.PluginConfiguration
...
@@ -159,10 +159,11 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener {
...
@@ -159,10 +159,11 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener {
text2
.
visibility
=
View
.
VISIBLE
text2
.
visibility
=
View
.
VISIBLE
text2
.
text
=
t2
.
joinToString
(
"\n"
)
text2
.
text
=
t2
.
joinToString
(
"\n"
)
}
}
val
context
=
requireContext
()
if
(
tx
<=
0
&&
rx
<=
0
)
traffic
.
visibility
=
View
.
GONE
else
{
if
(
tx
<=
0
&&
rx
<=
0
)
traffic
.
visibility
=
View
.
GONE
else
{
traffic
.
visibility
=
View
.
VISIBLE
traffic
.
visibility
=
View
.
VISIBLE
traffic
.
text
=
getString
(
R
.
string
.
traffic
,
traffic
.
text
=
getString
(
R
.
string
.
traffic
,
TrafficMonitor
.
formatTraffic
(
tx
),
TrafficMonitor
.
formatTraffic
(
rx
))
Formatter
.
formatFileSize
(
context
,
tx
),
Formatter
.
formatFileSize
(
context
,
rx
))
}
}
if
(
item
.
id
==
DataStore
.
profileId
)
{
if
(
item
.
id
==
DataStore
.
profileId
)
{
...
@@ -179,7 +180,6 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener {
...
@@ -179,7 +180,6 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener {
val
params
=
LinearLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
WRAP_CONTENT
,
val
params
=
LinearLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
WRAP_CONTENT
,
ViewGroup
.
LayoutParams
.
WRAP_CONTENT
)
ViewGroup
.
LayoutParams
.
WRAP_CONTENT
)
params
.
gravity
=
Gravity
.
CENTER_HORIZONTAL
params
.
gravity
=
Gravity
.
CENTER_HORIZONTAL
val
context
=
requireContext
()
adView
=
AdView
(
context
)
adView
=
AdView
(
context
)
adView
.
layoutParams
=
params
adView
.
layoutParams
=
params
adView
.
adUnitId
=
"ca-app-pub-9097031975646651/7760346322"
adView
.
adUnitId
=
"ca-app-pub-9097031975646651/7760346322"
...
...
mobile/src/main/java/com/github/shadowsocks/bg/ServiceNotification.kt
View file @
98df31c2
...
@@ -31,6 +31,7 @@ import android.os.Build
...
@@ -31,6 +31,7 @@ import android.os.Build
import
android.os.PowerManager
import
android.os.PowerManager
import
android.support.v4.app.NotificationCompat
import
android.support.v4.app.NotificationCompat
import
android.support.v4.content.ContextCompat
import
android.support.v4.content.ContextCompat
import
android.text.format.Formatter
import
com.github.shadowsocks.MainActivity
import
com.github.shadowsocks.MainActivity
import
com.github.shadowsocks.R
import
com.github.shadowsocks.R
import
com.github.shadowsocks.aidl.IShadowsocksServiceCallback
import
com.github.shadowsocks.aidl.IShadowsocksServiceCallback
...
@@ -55,11 +56,11 @@ class ServiceNotification(private val service: BaseService.Interface, profileNam
...
@@ -55,11 +56,11 @@ class ServiceNotification(private val service: BaseService.Interface, profileNam
override
fun
stateChanged
(
state
:
Int
,
profileName
:
String
?,
msg
:
String
?)
{
}
// ignore
override
fun
stateChanged
(
state
:
Int
,
profileName
:
String
?,
msg
:
String
?)
{
}
// ignore
override
fun
trafficUpdated
(
profileId
:
Int
,
txRate
:
Long
,
rxRate
:
Long
,
txTotal
:
Long
,
rxTotal
:
Long
)
{
override
fun
trafficUpdated
(
profileId
:
Int
,
txRate
:
Long
,
rxRate
:
Long
,
txTotal
:
Long
,
rxTotal
:
Long
)
{
service
as
Context
service
as
Context
val
txr
=
service
.
getString
(
R
.
string
.
speed
,
TrafficMonitor
.
formatTraffic
(
txRate
))
val
txr
=
service
.
getString
(
R
.
string
.
speed
,
Formatter
.
formatFileSize
(
service
,
txRate
))
val
rxr
=
service
.
getString
(
R
.
string
.
speed
,
TrafficMonitor
.
formatTraffic
(
rxRate
))
val
rxr
=
service
.
getString
(
R
.
string
.
speed
,
Formatter
.
formatFileSize
(
service
,
rxRate
))
builder
.
setContentText
(
"$txr↑\t$rxr↓"
)
builder
.
setContentText
(
"$txr↑\t$rxr↓"
)
style
.
bigText
(
service
.
getString
(
R
.
string
.
stat_summary
).
format
(
Locale
.
ENGLISH
,
txr
,
rxr
,
style
.
bigText
(
service
.
getString
(
R
.
string
.
stat_summary
).
format
(
Locale
.
ENGLISH
,
txr
,
rxr
,
TrafficMonitor
.
formatTraffic
(
txTotal
),
TrafficMonitor
.
formatTraffic
(
rxTotal
)))
Formatter
.
formatFileSize
(
service
,
txTotal
),
Formatter
.
formatFileSize
(
service
,
rxTotal
)))
show
()
show
()
}
}
override
fun
trafficPersisted
(
profileId
:
Int
)
{
}
override
fun
trafficPersisted
(
profileId
:
Int
)
{
}
...
...
mobile/src/main/java/com/github/shadowsocks/bg/TrafficMonitor.kt
View file @
98df31c2
...
@@ -21,9 +21,6 @@
...
@@ -21,9 +21,6 @@
package
com.github.shadowsocks.bg
package
com.github.shadowsocks.bg
import
android.os.SystemClock
import
android.os.SystemClock
import
com.github.shadowsocks.App.Companion.app
import
com.github.shadowsocks.R
import
java.text.DecimalFormat
object
TrafficMonitor
{
object
TrafficMonitor
{
// Bytes per second
// Bytes per second
...
@@ -41,19 +38,6 @@ object TrafficMonitor {
...
@@ -41,19 +38,6 @@ object TrafficMonitor {
@Volatile
@Volatile
private
var
dirty
=
true
private
var
dirty
=
true
private
val
units
=
arrayOf
(
"KB"
,
"MB"
,
"GB"
,
"TB"
,
"PB"
,
"EB"
,
"ZB"
,
"YB"
,
"BB"
,
"NB"
,
"DB"
,
"CB"
)
private
val
numberFormat
=
DecimalFormat
(
"@@@"
)
fun
formatTraffic
(
size
:
Long
):
String
{
var
n
=
size
.
toDouble
()
var
i
=
-
1
while
(
n
>=
999.5
)
{
n
/=
1024
++
i
}
return
if
(
i
<
0
)
"$size ${app.resources.getQuantityString(R.plurals.bytes, size.toInt())}"
else
"${numberFormat.format(n)} ${units[i]}"
}
fun
updateRate
():
Boolean
{
fun
updateRate
():
Boolean
{
val
now
=
SystemClock
.
elapsedRealtime
()
val
now
=
SystemClock
.
elapsedRealtime
()
val
delta
=
now
-
timestampLast
val
delta
=
now
-
timestampLast
...
...
mobile/src/main/res/values/strings.xml
View file @
98df31c2
...
@@ -20,10 +20,6 @@
...
@@ -20,10 +20,6 @@
<string
name=
"traffic"
>
%s↑\t%s↓
</string>
<string
name=
"traffic"
>
%s↑\t%s↓
</string>
<string
name=
"stat_summary"
>
Sent: \t\t\t\t\t%3$s\t↑\t%1$s\nReceived: \t%4$s\t↓\t%2$s
</string>
<string
name=
"stat_summary"
>
Sent: \t\t\t\t\t%3$s\t↑\t%1$s\nReceived: \t%4$s\t↓\t%2$s
</string>
<string
name=
"speed"
>
%s/s
</string>
<string
name=
"speed"
>
%s/s
</string>
<plurals
name=
"bytes"
>
<item
quantity=
"one"
>
Byte
</item>
<item
quantity=
"other"
>
Bytes
</item>
</plurals>
<string
name=
"connection_test_pending"
>
Check Connectivity
</string>
<string
name=
"connection_test_pending"
>
Check Connectivity
</string>
<string
name=
"connection_test_testing"
>
Testing…
</string>
<string
name=
"connection_test_testing"
>
Testing…
</string>
<string
name=
"connection_test_available"
>
Success: %dms latency
</string>
<string
name=
"connection_test_available"
>
Success: %dms latency
</string>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment