Skip to content

Commit

Permalink
1. Use string.xml;
Browse files Browse the repository at this point in the history
2. Set proxy control strategy as default control of unknown traffics;
3. Update crash sdk;
4. Update version to 2.2;
  • Loading branch information
Summer authored and Summer committed Oct 15, 2018
1 parent 8e8e251 commit 15b2b12
Show file tree
Hide file tree
Showing 19 changed files with 138 additions and 75 deletions.
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ android {
applicationId "com.summer.netcloud"
minSdkVersion 15
targetSdkVersion 26
versionCode 3
versionName "2.1"
versionCode 4
versionName "2.2"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
Expand Down
Binary file removed app/libs/crashsdk-release.aar
Binary file not shown.
Binary file added app/libs/crashsdk-v2.1.aar
Binary file not shown.
4 changes: 2 additions & 2 deletions app/src/main/java/com/summer/netcloud/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ public class Constants {

public static final byte DEBUG_LEV = DEBUG_LEV_DEBUG;

public static VpnConfig.AVAIL_CTRLS DEFAULT_SYSTEM_CTRL = VpnConfig.AVAIL_CTRLS.BASE;
public static VpnConfig.AVAIL_CTRLS DEFAULT_UNKNOWN_CTRL = VpnConfig.AVAIL_CTRLS.BASE;
public static VpnConfig.AVAIL_CTRLS DEFAULT_SYSTEM_CTRL = VpnConfig.AVAIL_CTRLS.PROXY;
public static VpnConfig.AVAIL_CTRLS DEFAULT_UNKNOWN_CTRL = VpnConfig.AVAIL_CTRLS.PROXY;


public static Map<String,VpnConfig.AVAIL_CTRLS> DEFAULT_APP_CTRLS = new HashMap<>();
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/com/summer/netcloud/NetWatcherApp.java
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ private static Notification.Builder getNotificationBuilder(Context context, Stri
@TargetApi(26)
private static void prepareChannel(Context context, String id, int importance) {
final String appName = context.getString(com.summer.netcore.R.string.app_name);
String description = "NetCloud";
String description = appName;
final NotificationManager nm = (NotificationManager) context.getSystemService(Activity.NOTIFICATION_SERVICE);

if(nm != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@

public class NotificationReceiver extends Activity {

public static final String ACT_REMOVE = "REMOVE";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Expand Down
5 changes: 3 additions & 2 deletions app/src/main/java/com/summer/netcloud/PersistentService.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import com.summer.netcloud.message.IMsgListener;
import com.summer.netcloud.message.Messege;
import com.summer.netcloud.message.MsgDispatcher;
import com.summer.netcloud.utils.ResTools;
import com.summer.netcore.NetCoreIface;

/**
Expand Down Expand Up @@ -54,8 +55,8 @@ private void updateNotification(){
Notification notification = NetWatcherApp.getNotification();
RemoteViews content = notification.contentView;
if(content != null){
content.setCharSequence(R.id.netcloud_notify_desc, "setText", NetCoreIface.isServerRunning()?"VPN service is running":"VPN service is not running");
content.setCharSequence(R.id.netcloud_notify_button, "setText", NetCoreIface.isServerRunning()?"STOP":"START");
content.setCharSequence(R.id.netcloud_notify_desc, "setText", ResTools.getString(NetCoreIface.isServerRunning()? R.string.vpn_running:R.string.vpn_not_running));
content.setCharSequence(R.id.netcloud_notify_button, "setText", ResTools.getString(NetCoreIface.isServerRunning()? R.string.stop:R.string.start));
}

startForeground(notificationID, notification);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@
import com.summer.netcloud.MainActivity;
import com.summer.netcloud.NetWatcherApp;
import com.summer.netcloud.PermissionMgr;
import com.summer.netcloud.R;
import com.summer.netcloud.message.Messege;
import com.summer.netcloud.message.MsgDispatcher;
import com.summer.netcloud.utils.JobScheduler;
import com.summer.netcloud.utils.Listener;
import com.summer.netcloud.utils.Log;
import com.summer.netcloud.utils.PackageUtils;
import com.summer.netcloud.utils.ResTools;
import com.summer.netcore.Config;
import com.summer.netcore.NetCoreIface;
import com.summer.netcore.VpnConfig;
Expand Down Expand Up @@ -398,7 +400,7 @@ public void onPermissionGranted() {
@Override
public void onPermissionDenied() {
if(mPendingStart){
Toast.makeText(ContextMgr.getApplicationContext(), "start failed, vpn permission is necessary.", Toast.LENGTH_LONG).show();
Toast.makeText(ContextMgr.getApplicationContext(), ResTools.getString(R.string.tips_vpn_permission), Toast.LENGTH_LONG).show();
mPendingStart = false;
}
}
Expand Down
4 changes: 4 additions & 0 deletions app/src/main/java/com/summer/netcloud/utils/ResTools.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,8 @@ public static final int getColor(int resId){
return ContextMgr.getContext().getResources().getColor(resId);
}

public static final String getString(int resId){
return ContextMgr.getApplicationContext().getResources().getString(resId);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -51,18 +51,18 @@ protected View getTitleBar() {
if(mTitleBar == null){
int textSize = (int)ResTools.getDimen(R.dimen.textsize1);
mTitleBar = new TitleBar(getContext());
mTitleBar.setTitle("Select apps");
mTitleBar.setTitle(ResTools.getString(R.string.select_apps));

mDone = new TextView(getContext());
mDone.setOnClickListener(this);
mDone.setText("Done");
mDone.setText(R.string.done);
mDone.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
mDone.setTextColor(ResTools.getColor(R.color.background));
mTitleBar.addRight(mDone);

mCancelAll = new TextView(getContext());
mCancelAll.setOnClickListener(this);
mCancelAll.setText("Cancel All");
mCancelAll.setText(R.string.cancel_all);
mCancelAll.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
mCancelAll.setTextColor(ResTools.getColor(R.color.background));
mTitleBar.addRight(mCancelAll);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ private void initView(Context context){
mTitle.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
mTitle.setSingleLine();
mTitle.setTextColor(ResTools.getColor(R.color.background));
mTitle.setText("Tombstones");
mTitle.setText(R.string.tombstones);
mTitle.setEllipsize(TextUtils.TruncateAt.START);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
lp.leftMargin = (int)ResTools.getDimen(R.dimen.hor_padding);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ public class CrashRecordWindow extends AbsListContentWindow<String, TextView> im
public CrashRecordWindow(Context context) {
super(context);

setEmptyDescryption("No crash info.");
setEmptyDescryption(ResTools.getString(R.string.tips_none_crash));
}

@Override
protected View getTitleBar() {
if(mTitleBar == null){
mTitleBar = new TitleBar(getContext());
mTitleBar.setTitle("Tombstones");
mTitleBar.setTitle(R.string.tombstones);
}

return mTitleBar;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public void show(){
TextView host = new TextView(mContext);
host.setTextColor(ResTools.getColor(R.color.text));
host.setTextSize(TypedValue.COMPLEX_UNIT_PX, ResTools.getDimen(R.dimen.textsize1));
host.setText("IP:");
host.setText(R.string.host);
editCnt.addView(host);

final EditText editText = new EditText(mContext);
Expand All @@ -86,7 +86,7 @@ public void show(){
TextView port = new TextView(mContext);
port.setTextColor(ResTools.getColor(R.color.text));
port.setTextSize(TypedValue.COMPLEX_UNIT_PX, ResTools.getDimen(R.dimen.textsize1));
port.setText("port:");
port.setText(R.string.port);
lp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
lp.leftMargin = (int)ResTools.getDimen(R.dimen.hor_padding);
editCnt.addView(port, lp);
Expand All @@ -108,7 +108,7 @@ public void show(){
cnt.addView(editCnt);

TextView ok = new TextView(mContext);
ok.setText("OK");
ok.setText(R.string.done);
ok.setGravity(Gravity.CENTER);
ok.setBackgroundResource(R.drawable.button_blue);
ok.setTextColor(ResTools.getColor(R.color.blue));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public void show(int inputType){
cnt.addView(editText);

TextView ok = new TextView(mContext);
ok.setText("Add");
ok.setText(R.string.add);
ok.setGravity(Gravity.CENTER);
ok.setBackgroundResource(R.drawable.button_blue);
ok.setTextColor(ResTools.getColor(R.color.blue));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,14 @@ public void update(){
private void updateVPNState(){
if(TrafficMgr.getInstance().isCtrlSetEmpty()){
mStart.setSelected(true);
mStart.setText("Add");
mStart.setText(R.string.add);
}else{
if(TrafficMgr.getInstance().isEnable()){
mStart.setSelected(true);
mStart.setText("Stop");
mStart.setText(R.string.stop);
}else{
mStart.setSelected(false);
mStart.setText("Start");
mStart.setText(R.string.start);
}
}

Expand Down
6 changes: 3 additions & 3 deletions app/src/main/java/com/summer/netcloud/window/MainWindow.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,11 @@ protected void bindItem(Integer item, ItemView view) {

private void setEmptyDesc(){
if(TrafficMgr.getInstance().isCtrlSetEmpty()){
setEmptyDescryption("Click \'Add\' right above\nand add apps you need into control");
setEmptyDescryption(ResTools.getString(R.string.tips_add_apps_to_ctrl));
}else if(TrafficMgr.getInstance().isEnable()){
setEmptyDescryption("Monitoring connections...");
setEmptyDescryption(ResTools.getString(R.string.tips_monitoring));
}else{
setEmptyDescryption("Click 'start' to start vpn service");
setEmptyDescryption(ResTools.getString(R.string.tips_start));
}
}

Expand Down
41 changes: 21 additions & 20 deletions app/src/main/java/com/summer/netcloud/window/SettingsWindow.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,15 @@
import android.widget.TextView;
import android.widget.Toast;

import com.summer.netcloud.NotificationReceiver;
import com.summer.netcloud.PersistentService;
import com.summer.netcloud.utils.SystemUtils;
import com.summer.netcore.Config;
import com.summer.netcore.IPUtils;
import com.summer.netcore.VpnConfig;
import com.summer.netcloud.ContextMgr;
import com.summer.netcloud.R;
import com.summer.netcloud.message.Messege;
import com.summer.netcloud.message.MsgDispatcher;
import com.summer.netcloud.utils.ResTools;
import com.summer.netcloud.utils.SystemUtils;
import com.summer.netcore.Config;
import com.summer.netcore.IPUtils;
import com.summer.netcore.VpnConfig;

import java.util.ArrayList;
import java.util.List;
Expand Down Expand Up @@ -69,7 +67,7 @@ public SettingsWindow(Context context) {
protected View getTitleBar() {
if(mTitleBar == null){
mTitleBar = new TitleBar(getContext());
mTitleBar.setTitle("Settings");
mTitleBar.setTitle(ResTools.getString(R.string.settings));
}
return mTitleBar;
}
Expand All @@ -90,17 +88,17 @@ protected ItemView createItemView(int position) {
protected void bindItem(Integer item, ItemView view) {
switch (item){
case SETTING_APPS_UNDER_CTRL:{
view.setTitle("Control Strategy", null);
view.setTitle(ResTools.getString(R.string.setting_ctrl), null);
break;
}
case SETTING_DNS_SERVER:{
String dnsAddr = VpnConfig.getConfig(Config.DNS_SERVER, "");
if(VpnConfig.isValidateHost(dnsAddr)){
view.setTitle("DNS", dnsAddr);
view.setTitle(ResTools.getString(R.string.setting_dns), dnsAddr);
break;
}

view.setTitle("DNS", "not set");
view.setTitle(ResTools.getString(R.string.setting_dns), ResTools.getString(R.string.setting_not_set));

break;
}
Expand All @@ -111,33 +109,34 @@ protected void bindItem(Integer item, ItemView view) {
try{
int port = Integer.valueOf(proxyPort);
if(0<=port && port<=65536){
view.setTitle("Proxy server", proxyAddr+"/"+proxyPort);
view.setTitle(ResTools.getString(R.string.setting_proxy_server), proxyAddr+"/"+proxyPort);
break;
}
}catch (Throwable t){
t.printStackTrace();
}
}
view.setTitle("Proxy server", "not set");
view.setTitle(ResTools.getString(R.string.setting_proxy_server), ResTools.getString(R.string.setting_not_set));

break;
}
case SETTING_CAPTURE_DIR:{
String capDir = VpnConfig.getConfig(Config.CAP_OUTPUT_DIR, "not set");
view.setTitle("Capture output directory", capDir);
String capDir = VpnConfig.getConfig(Config.CAP_OUTPUT_DIR, ResTools.getString(R.string.setting_not_set));
view.setTitle(ResTools.getString(R.string.setting_capture_output), capDir);

break;
}
case SETTING_ENHANCE_BACKGROUN_RUNNING:{
view.setTitle("Enhance background running", SystemUtils.batteryOptimizing()?"enhanced":null);
view.setTitle(ResTools.getString(R.string.setting_enhance_background_running),
SystemUtils.batteryOptimizing()?ResTools.getString(R.string.setting_enhanced):null);
break;
}
case SETTING_CRASH_RECORDS:{
view.setTitle("Crash records", null);
view.setTitle(ResTools.getString(R.string.setting_crash_record), null);
break;
}
case SETTING_ABOUT:{
view.setTitle("About ", null);
view.setTitle(ResTools.getString(R.string.setting_about), null);
break;
}
}
Expand All @@ -159,7 +158,7 @@ public void onHostInput(String value) {
mHostInputDialog.dismiss();
return;
}
Toast.makeText(getContext(),"invalidate input.", Toast.LENGTH_SHORT).show();
Toast.makeText(getContext(), R.string.tips_invalid_input, Toast.LENGTH_SHORT).show();
}

@Override
Expand Down Expand Up @@ -205,7 +204,7 @@ public void onHostInput(String value, String port) {

}

Toast.makeText(getContext(),"invalidate input.", Toast.LENGTH_SHORT).show();
Toast.makeText(getContext(), R.string.tips_invalid_input, Toast.LENGTH_SHORT).show();
}

@Override
Expand Down Expand Up @@ -242,14 +241,16 @@ public void onClick(View v) {
MsgDispatcher.get().dispatchSync(Messege.PUSH_WINDOW, new CrashRecordWindow(ContextMgr.getContext()));
break;
}case SETTING_ABOUT:{
Toast.makeText(getContext(), "NetCloud " + SystemUtils.getLocalVersionName(getContext())
Toast.makeText(getContext(), ResTools.getString(R.string.app_name) + " " + SystemUtils.getLocalVersionName(getContext())
, Toast.LENGTH_SHORT).show();
break;
}case SETTING_ENHANCE_BACKGROUN_RUNNING:{
final Intent doze = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
doze.setData(Uri.parse("package:" + getContext().getPackageName()));
if(getContext().getPackageManager().resolveActivity(doze, 0) != null){
getContext().startActivity(doze);
}else{
Toast.makeText(getContext(), R.string.tips_devices_not_available, Toast.LENGTH_SHORT).show();
}
break;
}
Expand Down
Loading

0 comments on commit 15b2b12

Please sign in to comment.