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
da2490b1
Commit
da2490b1
authored
Mar 08, 2018
by
Mygod
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use ContextCompat.getSystemService
parent
3a8f863b
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
22 additions
and
21 deletions
+22
-21
mobile/src/main/java/com/github/shadowsocks/AppManager.kt
mobile/src/main/java/com/github/shadowsocks/AppManager.kt
+2
-6
mobile/src/main/java/com/github/shadowsocks/ProfilesFragment.kt
.../src/main/java/com/github/shadowsocks/ProfilesFragment.kt
+2
-1
mobile/src/main/java/com/github/shadowsocks/ScannerActivity.kt
...e/src/main/java/com/github/shadowsocks/ScannerActivity.kt
+2
-2
mobile/src/main/java/com/github/shadowsocks/VpnRequestActivity.kt
...rc/main/java/com/github/shadowsocks/VpnRequestActivity.kt
+2
-3
mobile/src/main/java/com/github/shadowsocks/acl/CustomRulesFragment.kt
...in/java/com/github/shadowsocks/acl/CustomRulesFragment.kt
+2
-2
mobile/src/main/java/com/github/shadowsocks/bg/ServiceNotification.kt
...ain/java/com/github/shadowsocks/bg/ServiceNotification.kt
+3
-2
mobile/src/main/java/com/github/shadowsocks/bg/TileService.kt
...le/src/main/java/com/github/shadowsocks/bg/TileService.kt
+2
-2
mobile/src/main/java/com/github/shadowsocks/bg/VpnService.kt
mobile/src/main/java/com/github/shadowsocks/bg/VpnService.kt
+2
-2
mobile/src/main/java/com/github/shadowsocks/utils/Utils.kt
mobile/src/main/java/com/github/shadowsocks/utils/Utils.kt
+3
-0
mobile/src/main/java/com/github/shadowsocks/widget/ShrinkUpwardBehavior.kt
...ava/com/github/shadowsocks/widget/ShrinkUpwardBehavior.kt
+2
-1
No files found.
mobile/src/main/java/com/github/shadowsocks/AppManager.kt
View file @
da2490b1
...
...
@@ -27,7 +27,6 @@ import android.annotation.SuppressLint
import
android.content.BroadcastReceiver
import
android.content.ClipData
import
android.content.ClipboardManager
import
android.content.Context
import
android.content.pm.ApplicationInfo
import
android.content.pm.PackageInfo
import
android.content.pm.PackageManager
...
...
@@ -49,10 +48,7 @@ import com.futuremind.recyclerviewfastscroll.SectionTitleProvider
import
com.github.shadowsocks.App.Companion.app
import
com.github.shadowsocks.database.ProfileManager
import
com.github.shadowsocks.preference.DataStore
import
com.github.shadowsocks.utils.DirectBoot
import
com.github.shadowsocks.utils.Key
import
com.github.shadowsocks.utils.resolveResourceId
import
com.github.shadowsocks.utils.thread
import
com.github.shadowsocks.utils.*
import
java.util.concurrent.atomic.AtomicBoolean
class
AppManager
:
AppCompatActivity
(),
Toolbar
.
OnMenuItemClickListener
{
...
...
@@ -142,7 +138,7 @@ class AppManager : AppCompatActivity(), Toolbar.OnMenuItemClickListener {
private
lateinit
var
loadingView
:
View
private
val
appsLoading
=
AtomicBoolean
()
private
val
handler
=
Handler
()
private
val
clipboard
by
lazy
{
getSystemService
(
Context
.
CLIPBOARD_SERVICE
)
as
ClipboardManager
}
private
val
clipboard
by
lazy
{
systemService
<
ClipboardManager
>()
}
private
fun
initProxiedApps
(
str
:
String
=
DataStore
.
individual
)
{
proxiedApps
=
str
.
split
(
'\n'
).
toHashSet
()
...
...
mobile/src/main/java/com/github/shadowsocks/ProfilesFragment.kt
View file @
da2490b1
...
...
@@ -45,6 +45,7 @@ import com.github.shadowsocks.database.ProfileManager
import
com.github.shadowsocks.plugin.PluginConfiguration
import
com.github.shadowsocks.preference.DataStore
import
com.github.shadowsocks.utils.Action
import
com.github.shadowsocks.utils.systemService
import
com.github.shadowsocks.widget.UndoSnackbarManager
import
com.google.android.gms.ads.AdRequest
import
com.google.android.gms.ads.AdSize
...
...
@@ -305,7 +306,7 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener {
private
var
txTotal
:
Long
=
0L
private
var
rxTotal
:
Long
=
0L
private
val
clipboard
by
lazy
{
requireContext
().
getSystemService
(
Context
.
CLIPBOARD_SERVICE
)
as
ClipboardManager
}
private
val
clipboard
by
lazy
{
requireContext
().
systemService
<
ClipboardManager
>()
}
private
fun
startConfig
(
id
:
Int
)
=
startActivity
(
Intent
(
context
,
ProfileConfigActivity
::
class
.
java
)
.
putExtra
(
Action
.
EXTRA_PROFILE_ID
,
id
))
...
...
mobile/src/main/java/com/github/shadowsocks/ScannerActivity.kt
View file @
da2490b1
...
...
@@ -21,7 +21,6 @@
package
com.github.shadowsocks
import
android.app.Activity
import
android.content.Context
import
android.content.Intent
import
android.content.pm.ShortcutManager
import
android.graphics.BitmapFactory
...
...
@@ -40,6 +39,7 @@ import com.github.shadowsocks.App.Companion.app
import
com.github.shadowsocks.database.Profile
import
com.github.shadowsocks.database.ProfileManager
import
com.github.shadowsocks.utils.resolveResourceId
import
com.github.shadowsocks.utils.systemService
import
com.google.android.gms.samples.vision.barcodereader.BarcodeCapture
import
com.google.android.gms.samples.vision.barcodereader.BarcodeGraphic
import
com.google.android.gms.vision.Frame
...
...
@@ -65,7 +65,7 @@ class ScannerActivity : AppCompatActivity(), Toolbar.OnMenuItemClickListener, Ba
super
.
onCreate
(
savedInstanceState
)
if
(
Build
.
VERSION
.
SDK_INT
>=
25
)
getSystemService
(
ShortcutManager
::
class
.
java
).
reportShortcutUsed
(
"scan"
)
if
(
try
{
(
getSystemService
(
Context
.
CAMERA_SERVICE
)
as
CameraManager
).
cameraIdList
.
isEmpty
()
systemService
<
CameraManager
>(
).
cameraIdList
.
isEmpty
()
}
catch
(
_
:
CameraAccessException
)
{
true
})
{
...
...
mobile/src/main/java/com/github/shadowsocks/VpnRequestActivity.kt
View file @
da2490b1
...
...
@@ -22,7 +22,6 @@ package com.github.shadowsocks
import
android.app.KeyguardManager
import
android.content.BroadcastReceiver
import
android.content.Context
import
android.content.Intent
import
android.content.IntentFilter
import
android.net.VpnService
...
...
@@ -33,6 +32,7 @@ import com.github.shadowsocks.App.Companion.app
import
com.github.shadowsocks.aidl.IShadowsocksService
import
com.github.shadowsocks.bg.BaseService
import
com.github.shadowsocks.utils.broadcastReceiver
import
com.github.shadowsocks.utils.systemService
class
VpnRequestActivity
:
AppCompatActivity
(),
ShadowsocksConnection
.
Interface
{
companion
object
{
...
...
@@ -48,8 +48,7 @@ class VpnRequestActivity : AppCompatActivity(), ShadowsocksConnection.Interface
finish
()
return
}
val
km
=
getSystemService
(
Context
.
KEYGUARD_SERVICE
)
as
KeyguardManager
if
(
km
.
inKeyguardRestrictedInputMode
())
{
if
(
systemService
<
KeyguardManager
>().
inKeyguardRestrictedInputMode
())
{
receiver
=
broadcastReceiver
{
_
,
_
->
connection
.
connect
()
}
registerReceiver
(
receiver
,
IntentFilter
(
Intent
.
ACTION_USER_PRESENT
))
}
else
connection
.
connect
()
...
...
mobile/src/main/java/com/github/shadowsocks/acl/CustomRulesFragment.kt
View file @
da2490b1
...
...
@@ -22,7 +22,6 @@ package com.github.shadowsocks.acl
import
android.content.ClipData
import
android.content.ClipboardManager
import
android.content.Context
import
android.os.Build
import
android.os.Bundle
import
android.support.design.widget.Snackbar
...
...
@@ -48,6 +47,7 @@ import com.github.shadowsocks.bg.BaseService
import
com.github.shadowsocks.utils.Subnet
import
com.github.shadowsocks.utils.asIterable
import
com.github.shadowsocks.utils.resolveResourceId
import
com.github.shadowsocks.utils.systemService
import
com.github.shadowsocks.widget.UndoSnackbarManager
import
java.net.IDN
import
java.net.MalformedURLException
...
...
@@ -360,7 +360,7 @@ class CustomRulesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener,
private
lateinit
var
list
:
RecyclerView
private
var
mode
:
ActionMode
?
=
null
private
lateinit
var
undoManager
:
UndoSnackbarManager
<
Any
>
private
val
clipboard
by
lazy
{
requireContext
().
getSystemService
(
Context
.
CLIPBOARD_SERVICE
)
as
ClipboardManager
}
private
val
clipboard
by
lazy
{
requireContext
().
systemService
<
ClipboardManager
>()
}
private
fun
onSelectedItemsUpdated
()
{
if
(
selectedItems
.
isEmpty
())
mode
?.
finish
()
else
if
(
mode
==
null
)
mode
=
toolbar
.
startActionMode
(
this
)
...
...
mobile/src/main/java/com/github/shadowsocks/bg/ServiceNotification.kt
View file @
da2490b1
...
...
@@ -36,6 +36,7 @@ import com.github.shadowsocks.R
import
com.github.shadowsocks.aidl.IShadowsocksServiceCallback
import
com.github.shadowsocks.utils.Action
import
com.github.shadowsocks.utils.broadcastReceiver
import
com.github.shadowsocks.utils.systemService
import
java.util.*
/**
...
...
@@ -46,7 +47,7 @@ import java.util.*
*/
class
ServiceNotification
(
private
val
service
:
BaseService
.
Interface
,
profileName
:
String
,
channel
:
String
,
private
val
visible
:
Boolean
=
false
)
{
private
val
keyGuard
=
(
service
as
Context
).
getSystemService
(
Context
.
KEYGUARD_SERVICE
)
as
KeyguardManager
private
val
keyGuard
=
(
service
as
Context
).
systemService
<
KeyguardManager
>()
private
val
nm
by
lazy
{
(
service
as
Context
).
getSystemService
(
Context
.
NOTIFICATION_SERVICE
)
as
NotificationManager
}
...
...
@@ -82,7 +83,7 @@ class ServiceNotification(private val service: BaseService.Interface, profileNam
service
as
Context
if
(
Build
.
VERSION
.
SDK_INT
<
24
)
builder
.
addAction
(
R
.
drawable
.
ic_navigation_close
,
service
.
getString
(
R
.
string
.
stop
),
PendingIntent
.
getBroadcast
(
service
,
0
,
Intent
(
Action
.
CLOSE
),
0
))
val
power
=
service
.
getSystemService
(
Context
.
POWER_SERVICE
)
as
PowerManager
val
power
=
service
.
systemService
<
PowerManager
>()
update
(
if
(
power
.
isInteractive
)
Intent
.
ACTION_SCREEN_ON
else
Intent
.
ACTION_SCREEN_OFF
,
true
)
val
screenFilter
=
IntentFilter
()
screenFilter
.
addAction
(
Intent
.
ACTION_SCREEN_ON
)
...
...
mobile/src/main/java/com/github/shadowsocks/bg/TileService.kt
View file @
da2490b1
...
...
@@ -21,7 +21,6 @@
package
com.github.shadowsocks.bg
import
android.app.KeyguardManager
import
android.content.Context
import
android.graphics.drawable.Icon
import
android.service.quicksettings.Tile
import
android.support.annotation.RequiresApi
...
...
@@ -31,6 +30,7 @@ import com.github.shadowsocks.ShadowsocksConnection
import
com.github.shadowsocks.aidl.IShadowsocksService
import
com.github.shadowsocks.aidl.IShadowsocksServiceCallback
import
com.github.shadowsocks.preference.DataStore
import
com.github.shadowsocks.utils.systemService
import
android.service.quicksettings.TileService
as
BaseTileService
@RequiresApi
(
24
)
...
...
@@ -38,7 +38,7 @@ class TileService : BaseTileService(), ShadowsocksConnection.Interface {
private
val
iconIdle
by
lazy
{
Icon
.
createWithResource
(
this
,
R
.
drawable
.
ic_service_idle
)
}
private
val
iconBusy
by
lazy
{
Icon
.
createWithResource
(
this
,
R
.
drawable
.
ic_service_busy
)
}
private
val
iconConnected
by
lazy
{
Icon
.
createWithResource
(
this
,
R
.
drawable
.
ic_service_active
)
}
private
val
keyguard
by
lazy
{
getSystemService
(
Context
.
KEYGUARD_SERVICE
)
as
KeyguardManager
}
private
val
keyguard
by
lazy
{
systemService
<
KeyguardManager
>()
}
override
val
serviceCallback
:
IShadowsocksServiceCallback
.
Stub
by
lazy
{
@RequiresApi
(
24
)
...
...
mobile/src/main/java/com/github/shadowsocks/bg/VpnService.kt
View file @
da2490b1
...
...
@@ -22,7 +22,6 @@ package com.github.shadowsocks.bg
import
android.annotation.TargetApi
import
android.app.Service
import
android.content.Context
import
android.content.Intent
import
android.content.pm.PackageManager
import
android.net.*
...
...
@@ -40,6 +39,7 @@ import com.github.shadowsocks.acl.Acl
import
com.github.shadowsocks.preference.DataStore
import
com.github.shadowsocks.utils.Subnet
import
com.github.shadowsocks.utils.parseNumericAddress
import
com.github.shadowsocks.utils.systemService
import
java.io.File
import
java.io.FileDescriptor
import
java.io.IOException
...
...
@@ -108,7 +108,7 @@ class VpnService : BaseVpnService(), LocalDnsService.Interface {
private
var
worker
:
ProtectWorker
?
=
null
private
var
tun2socksProcess
:
GuardedProcess
?
=
null
private
val
connectivity
by
lazy
{
getSystemService
(
Context
.
CONNECTIVITY_SERVICE
)
as
ConnectivityManager
}
private
val
connectivity
by
lazy
{
systemService
<
ConnectivityManager
>()
}
@TargetApi
(
Build
.
VERSION_CODES
.
P
)
private
val
defaultNetworkCallback
=
object
:
ConnectivityManager
.
NetworkCallback
()
{
override
fun
onAvailable
(
network
:
Network
)
{
...
...
mobile/src/main/java/com/github/shadowsocks/utils/Utils.kt
View file @
da2490b1
...
...
@@ -8,6 +8,7 @@ import android.os.Build
import
android.support.annotation.AttrRes
import
android.support.v4.app.Fragment
import
android.support.v4.app.FragmentManager
import
android.support.v4.content.ContextCompat
import
android.support.v7.util.SortedList
import
android.util.TypedValue
import
com.github.shadowsocks.App.Companion.app
...
...
@@ -50,6 +51,8 @@ fun thread(start: Boolean = true, isDaemon: Boolean = false, contextClassLoader:
val
URLConnection
.
responseLength
:
Long
get
()
=
if
(
Build
.
VERSION
.
SDK_INT
>=
24
)
contentLengthLong
else
contentLength
.
toLong
()
inline
fun
<
reified
T
>
Context
.
systemService
()
=
ContextCompat
.
getSystemService
(
this
,
T
::
class
.
java
)
!!
/**
* Based on: https://stackoverflow.com/a/15656428/2245107
*/
...
...
mobile/src/main/java/com/github/shadowsocks/widget/ShrinkUpwardBehavior.kt
View file @
da2490b1
...
...
@@ -29,12 +29,13 @@ import android.support.design.widget.SnackbarConsts
import
android.util.AttributeSet
import
android.view.View
import
android.view.accessibility.AccessibilityManager
import
com.github.shadowsocks.utils.systemService
/**
* Full credits go to: https://stackoverflow.com/a/35904421/2245107
*/
class
ShrinkUpwardBehavior
(
context
:
Context
,
attrs
:
AttributeSet
)
:
CoordinatorLayout
.
Behavior
<
View
>(
context
,
attrs
)
{
private
val
accessibility
=
context
.
getSystemService
(
Context
.
ACCESSIBILITY_SERVICE
)
as
AccessibilityManager
private
val
accessibility
=
context
.
systemService
<
AccessibilityManager
>()
override
fun
layoutDependsOn
(
parent
:
CoordinatorLayout
,
child
:
View
,
dependency
:
View
):
Boolean
=
dependency
is
Snackbar
.
SnackbarLayout
...
...
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