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
062dfb35
Commit
062dfb35
authored
Mar 28, 2016
by
Max Lv
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #624 from Mygod/master
Refine #614, #615
parents
d437f035
cb44ebaf
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
40 additions
and
68 deletions
+40
-68
project/plugins.sbt
project/plugins.sbt
+1
-5
src/main/AndroidManifest.xml
src/main/AndroidManifest.xml
+3
-3
src/main/res/values-zh-rCN/strings.xml
src/main/res/values-zh-rCN/strings.xml
+2
-3
src/main/res/values-zh-rTW/strings.xml
src/main/res/values-zh-rTW/strings.xml
+3
-5
src/main/res/values/strings.xml
src/main/res/values/strings.xml
+3
-3
src/main/scala/com/github/shadowsocks/ProfileManagerActivity.scala
...scala/com/github/shadowsocks/ProfileManagerActivity.scala
+28
-49
No files found.
project/plugins.sbt
View file @
062dfb35
resolvers
+=
Resolver
.
url
(
"scalasbt releases"
,
new
URL
(
"http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-snapshots"
))(
Resolver
.
ivyStylePatterns
)
addSbtPlugin
(
"com.hanhuy.sbt"
%
"android-sdk-plugin"
%
"1.5.19"
)
resolvers
+=
"Sonatype snapshots"
at
"https://oss.sonatype.org/content/repositories/snapshots/"
addSbtPlugin
(
"com.github.mpeltonen"
%
"sbt-idea"
%
"1.7.0-SNAPSHOT"
)
addSbtPlugin
(
"com.hanhuy.sbt"
%
"android-sdk-plugin"
%
"1.5.20"
)
resolvers
+=
Resolver
.
url
(
"rtimush/sbt-plugin-snapshots"
,
new
URL
(
"https://dl.bintray.com/rtimush/sbt-plugin-snapshots/"
))(
Resolver
.
ivyStylePatterns
)
...
...
src/main/AndroidManifest.xml
View file @
062dfb35
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"com.github.shadowsocks"
xmlns:tools=
"http://schemas.android.com/tools"
package=
"com.github.shadowsocks"
android:versionCode=
"134"
android:versionName=
"2.10.1"
>
...
...
@@ -92,7 +92,7 @@
android:launchMode=
"singleInstance"
android:excludeFromRecents=
"true"
android:taskAffinity=
""
android:theme=
"@style/PopupTheme.QuickSwitch"
>
android:theme=
"@style/PopupTheme.QuickSwitch"
>
<intent-filter>
<action
android:name=
"com.github.shadowsocks.QUICK_SWITCH"
/>
<category
android:name=
"android.intent.category.DEFAULT"
/>
...
...
@@ -128,7 +128,7 @@
</intent-filter>
</receiver>
<receiver
android:name=
".TaskerReceiver"
>
<receiver
android:name=
".TaskerReceiver"
tools:ignore=
"ExportedReceiver"
>
<intent-filter>
<action
android:name=
"com.twofortyfouram.locale.intent.action.FIRE_SETTING"
/>
</intent-filter>
...
...
src/main/res/values-zh-rCN/strings.xml
View file @
062dfb35
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
<string
name=
"app_name"
>
影梭
</string>
<string
name=
"global_cat"
>
全局设置
</string>
...
...
@@ -61,9 +60,9 @@
<string
name=
"flush_dnscache_no_root"
>
在没有 ROOT 权限的情况下无法刷新 DNS 缓存
</string>
<string
name=
"flushing"
>
刷新中……
</string>
<string
name=
"share"
>
分享
</string>
<string
name=
"share_message"
>
扫描二维码或
者使用 NFC(Android Beam)
</string>
<string
name=
"share_message"
>
扫描二维码或
使用 Android Beam (NFC)
</string>
<string
name=
"share_message_without_nfc"
>
扫描二维码
</string>
<string
name=
"share_message_nfc_disabled"
>
扫描二维码
,NFC(Android Beam)
被禁用
</string>
<string
name=
"share_message_nfc_disabled"
>
扫描二维码
\nAndroid Beam
被禁用
</string>
<string
name=
"turn_on_nfc"
>
打开 NFC
&
Android Beam
</string>
<string
name=
"add_profile"
>
添加配置文件
</string>
...
...
src/main/res/values-zh-rTW/strings.xml
View file @
062dfb35
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
<string
name=
"app_name"
>
Shadowsocks
</string>
<string
name=
"screen_name"
translatable=
"false"
>
Shadowsocks
</string>
<string
name=
"global_cat"
>
全域設定
</string>
<string
name=
"misc_cat"
>
其他
</string>
<string
name=
"proxy_cat"
>
伺服器設定
</string>
...
...
@@ -63,10 +61,10 @@
<string
name=
"flush_dnscache_no_root"
>
在無 ROOT 權限時清除 DNS 快取無法進行
</string>
<string
name=
"flushing"
>
清除中……
</string>
<string
name=
"share"
>
分享
</string>
<string
name=
"share_message"
>
掃描 QR 碼或者使用 NFC (Android Beam)
</string>
<string
name=
"share_message"
>
掃描 QR 碼或者使用 Android Beam (NFC)
</string>
<string
name=
"share_message_without_nfc"
>
掃描 QR 碼
</string>
<string
name=
"share_message_nfc_disabled"
>
掃描 QR 碼,NFC (Android Beam) 被停用
</string>
<string
name=
"share_message_nfc_disabled"
>
掃描 QR 碼\nAndroid Beam 被停用
</string>
<string
name=
"turn_on_nfc"
>
啟用 NFC
&
Android Beam
</string>
<string
name=
"add_profile"
>
新增設定檔
</string>
<string
name=
"nat"
>
NAT 模式 (已過時)
</string>
...
...
src/main/res/values/strings.xml
View file @
062dfb35
...
...
@@ -92,9 +92,9 @@
<string
name=
"about"
>
About
</string>
<string
name=
"about_title"
>
Shadowsocks %s
</string>
<string
name=
"share"
>
Share
</string>
<string
name=
"share_message"
>
Scan QR
Code or Use NFC (Android Beam
)
</string>
<string
name=
"share_message_without_nfc"
>
Scan QR
C
ode
</string>
<string
name=
"share_message_nfc_disabled"
>
Scan QR
Code, NFC (Android Beam)
is disabled
</string>
<string
name=
"share_message"
>
Scan QR
code or use Android Beam (NFC
)
</string>
<string
name=
"share_message_without_nfc"
>
Scan QR
c
ode
</string>
<string
name=
"share_message_nfc_disabled"
>
Scan QR
code\nAndroid Beam
is disabled
</string>
<string
name=
"turn_on_nfc"
>
Turn on NFC
&
Android Beam
</string>
<string
name=
"flush_dnscache"
>
Flush DNS cache
</string>
<string
name=
"flush_dnscache_summary"
>
Only useful in NAT mode
</string>
...
...
src/main/scala/com/github/shadowsocks/ProfileManagerActivity.scala
View file @
062dfb35
...
...
@@ -5,9 +5,8 @@ import java.nio.charset.Charset
import
android.content._
import
android.nfc.NfcAdapter.CreateNdefMessageCallback
import
android.nfc.
{
NdefMessage
,
NdefRecord
,
NfcAdapter
,
NfcEvent
}
import
android.os.
{
Bu
ild
,
Bu
ndle
,
Handler
}
import
android.os.
{
Bundle
,
Handler
}
import
android.provider.Settings
import
android.support.v4.app.
{
NavUtils
,
TaskStackBuilder
}
import
android.support.v7.app.
{
AlertDialog
,
AppCompatActivity
}
import
android.support.v7.widget.RecyclerView.ViewHolder
import
android.support.v7.widget.Toolbar.OnMenuItemClickListener
...
...
@@ -38,7 +37,7 @@ class ProfileManagerActivity extends AppCompatActivity with OnMenuItemClickListe
val
shareBtn
=
itemView
.
findViewById
(
R
.
id
.
share
)
shareBtn
.
setOnClickListener
(
_
=>
{
val
url
=
item
.
toString
if
(
nfcBeamEnable
)
{
if
(
isNfcBeamEnabled
)
{
nfcAdapter
.
setNdefPushMessageCallback
(
ProfileManagerActivity
.
this
,
ProfileManagerActivity
.
this
)
nfcShareItem
=
url
.
getBytes
(
Charset
.
forName
(
"UTF-8"
))
}
...
...
@@ -57,23 +56,15 @@ class ProfileManagerActivity extends AppCompatActivity with OnMenuItemClickListe
.
setView
(
image
)
.
setTitle
(
R
.
string
.
share
)
.
create
()
if
(!
nfcAvailable
){
dialog
.
setMessage
(
getString
(
R
.
string
.
share_message_without_nfc
))
if
(!
isNfcAvailable
)
dialog
.
setMessage
(
getString
(
R
.
string
.
share_message_without_nfc
))
else
if
(!
isNfcBeamEnabled
)
{
dialog
.
setMessage
(
getString
(
R
.
string
.
share_message_nfc_disabled
))
dialog
.
setButton
(
DialogInterface
.
BUTTON_NEUTRAL
,
getString
(
R
.
string
.
turn_on_nfc
),
((
_
,
_
)
=>
startActivity
(
new
Intent
(
Settings
.
ACTION_NFC_SETTINGS
)))
:
DialogInterface.OnClickListener
)
}
else
{
if
(!
nfcBeamEnable
)
{
dialog
.
setMessage
(
getString
(
R
.
string
.
share_message_nfc_disabled
))
dialog
.
setButton
(
DialogInterface
.
BUTTON_NEUTRAL
,
getString
(
R
.
string
.
turn_on_nfc
),
((
_
,
_
)
=>
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
JELLY_BEAN
)
{
startActivity
(
new
Intent
(
Settings
.
ACTION_NFC_SETTINGS
))
}
else
{
startActivity
(
new
Intent
(
Settings
.
ACTION_WIRELESS_SETTINGS
))
}
)
:
DialogInterface.OnClickListener
)
}
else
{
dialog
.
setMessage
(
getString
(
R
.
string
.
share_message
))
dialog
.
setOnDismissListener
(
_
=>
nfcAdapter
.
setNdefPushMessageCallback
(
null
,
ProfileManagerActivity
.
this
))
}
dialog
.
setMessage
(
getString
(
R
.
string
.
share_message
))
dialog
.
setOnDismissListener
(
_
=>
nfcAdapter
.
setNdefPushMessageCallback
(
null
,
ProfileManagerActivity
.
this
))
}
dialog
.
show
()
})
...
...
@@ -111,12 +102,9 @@ class ProfileManagerActivity extends AppCompatActivity with OnMenuItemClickListe
}
}
def
onClick
(
v
:
View
)
=
{
def
onClick
(
v
:
View
)
{
ShadowsocksApplication
.
switchProfile
(
item
.
id
)
finish
if
(
isLauncherFromShareIntent
){
TaskStackBuilder
.
create
(
ProfileManagerActivity
.
this
).
addNextIntentWithParentStack
(
NavUtils
.
getParentActivityIntent
(
ProfileManagerActivity
.
this
)).
startActivities
()
}
}
}
...
...
@@ -181,11 +169,9 @@ class ProfileManagerActivity extends AppCompatActivity with OnMenuItemClickListe
private
var
nfcAdapter
:
NfcAdapter
=
_
private
var
nfcShareItem
:
Array
[
Byte
]
=
_
private
var
nfcAvailable
=
false
private
var
nfcEnable
=
false
private
var
nfcBeamEnable
=
false
private
var
isLauncherFromShareIntent
=
false
private
var
isNfcAvailable
:
Boolean
=
_
private
var
isNfcEnabled
:
Boolean
=
_
private
var
isNfcBeamEnabled
:
Boolean
=
_
override
def
onCreate
(
savedInstanceState
:
Bundle
)
{
super
.
onCreate
(
savedInstanceState
)
...
...
@@ -235,46 +221,40 @@ class ProfileManagerActivity extends AppCompatActivity with OnMenuItemClickListe
new
AlertDialog
.
Builder
(
this
).
setTitle
(
R
.
string
.
profile_manager_dialog
)
.
setMessage
(
R
.
string
.
profile_manager_dialog_content
).
setPositiveButton
(
R
.
string
.
gotcha
,
null
).
create
.
show
}
val
intent
=
getIntent
if
(
intent
!=
null
)
handleShareIntent
(
intent
)
}
override
def
onResume
()
{
super
.
onResume
()
isLauncherFromShareIntent
=
false
handledShareIntent
()
updateNFCState
()
updateNfcState
()
}
override
def
onNewIntent
(
intent
:
Intent
)
:
Unit
={
super
.
onNewIntent
(
intent
)
set
Intent
(
intent
)
handleShare
Intent
(
intent
)
}
def
updateNFCState
()
:
Unit
=
{
def
updateNfcState
()
{
isNfcAvailable
=
false
isNfcEnabled
=
false
isNfcBeamEnabled
=
false
nfcAdapter
=
NfcAdapter
.
getDefaultAdapter
(
this
)
if
(
nfcAdapter
!=
null
){
n
fcAvailable
=
true
if
(
nfcAdapter
!=
null
)
{
isN
fcAvailable
=
true
if
(
nfcAdapter
.
isEnabled
)
{
nfcEnable
=
true
isNfcEnabled
=
true
if
(
nfcAdapter
.
isNdefPushEnabled
)
{
nfcBeamEnable
=
true
isNfcBeamEnabled
=
true
nfcAdapter
.
setNdefPushMessageCallback
(
null
,
ProfileManagerActivity
.
this
)
}
else
{
nfcBeamEnable
=
false
}
}
else
{
nfcEnable
=
false
nfcBeamEnable
=
false
}
}
else
{
nfcAvailable
=
false
nfcEnable
=
false
nfcBeamEnable
=
false
}
}
def
handledShareIntent
()
{
val
intent
=
getIntent
()
def
handleShareIntent
(
intent
:
Intent
)
{
val
sharedStr
=
intent
.
getAction
match
{
case
Intent
.
ACTION_VIEW
=>
intent
.
getData
.
toString
case
NfcAdapter
.
ACTION_NDEF_DISCOVERED
=>
...
...
@@ -298,7 +278,6 @@ class ProfileManagerActivity extends AppCompatActivity with OnMenuItemClickListe
.
setMessage
(
profiles
.
mkString
(
"\n"
))
.
create
()
dialog
.
show
()
isLauncherFromShareIntent
=
true
}
override
def
onStart
()
{
...
...
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