New vector resources
@ -41,10 +41,10 @@
|
||||
|
||||
<body>
|
||||
<img width="100" height="100" src="itxtech_logo.png"/><br>
|
||||
<div style="font-size:25px">iTX Technologies</div>
|
||||
<div style="font-size:25px"><a href="https://itxtech.org">iTX Technologies</a></div>
|
||||
<br>
|
||||
<img width="100" height="100" src="ic_launcher.png"><br>
|
||||
<div style="font-size: 25px;">Daedalus</div>
|
||||
<div style="font-size: 25px;"><a href="https://github.com/iTXTech/Daedalus">Daedalus</a></div>
|
||||
<div id="version" style="font-size: 10px;">null</div>
|
||||
<div id="build_time" style="font-size: 10px;">null</div>
|
||||
<div id="git_commit" style="font-size: 10px;">null</div>
|
||||
@ -58,16 +58,17 @@
|
||||
<br>
|
||||
<div style="font-size: 25px;"><a href="https://groups.google.com/forum/#!forum/neat-dns">Neat DNS</a></div>
|
||||
<br>
|
||||
<br>
|
||||
<div style="font-size: 12px; color: #FF4081">AIXYZ DNS is for academic use only!</div>
|
||||
<div style="font-size: 12px; color: gray;">
|
||||
Users must comply with local laws and regulations.<br>
|
||||
Open the menu to explore more features.
|
||||
</div>
|
||||
<br>
|
||||
<br>
|
||||
<div style="font-size: 8px; color: gray;">
|
||||
This program is free software: you can redistribute it and/or modify<br>
|
||||
it under the terms of the GNU General Public License as published by<br>
|
||||
it under the terms of the <a href="http://www.gnu.org/licenses/gpl-3.0.en.html">GNU General Public License</a> as
|
||||
published by<br>
|
||||
the Free Software Foundation, either version 3 of the License, or<br>
|
||||
(at your option) any later version.<br>
|
||||
<br>
|
||||
@ -77,7 +78,7 @@
|
||||
GNU General Public License for more details.<br>
|
||||
<br>
|
||||
You should have received a copy of the GNU General Public License<br>
|
||||
along with this program. If not, see http://www.gnu.org/licenses/.<br>
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.<br>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -41,10 +41,10 @@
|
||||
|
||||
<body>
|
||||
<img width="100" height="100" src="itxtech_logo.png"/><br>
|
||||
<div style="font-size:25px">iTX Technologies</div>
|
||||
<div style="font-size:25px"><a href="https://itxtech.org">iTX Technologies</a></div>
|
||||
<br>
|
||||
<img width="100" height="100" src="ic_launcher.png"><br>
|
||||
<div style="font-size: 25px;">Daedalus</div>
|
||||
<div style="font-size: 25px;"><a href="https://github.com/iTXTech/Daedalus">Daedalus</a></div>
|
||||
<div id="version" style="font-size: 10px;">null</div>
|
||||
<div id="build_time" style="font-size: 10px;">null</div>
|
||||
<div id="git_commit" style="font-size: 10px;">null</div>
|
||||
@ -62,13 +62,13 @@
|
||||
<div style="font-size: 12px; color: #FF4081">AIXYZ DNS 仅限用于学术目的!</div>
|
||||
<div style="font-size: 12px; color: gray;">
|
||||
使用者必须遵守当地法律法规。<br>
|
||||
打开菜单探索更多功能。
|
||||
</div>
|
||||
<br>
|
||||
<br>
|
||||
<div style="font-size: 8px; color: gray;">
|
||||
This program is free software: you can redistribute it and/or modify<br>
|
||||
it under the terms of the GNU General Public License as published by<br>
|
||||
it under the terms of the <a href="http://www.gnu.org/licenses/gpl-3.0.en.html">GNU General Public License</a> as
|
||||
published by<br>
|
||||
the Free Software Foundation, either version 3 of the License, or<br>
|
||||
(at your option) any later version.<br>
|
||||
<br>
|
||||
@ -78,7 +78,7 @@
|
||||
GNU General Public License for more details.<br>
|
||||
<br>
|
||||
You should have received a copy of the GNU General Public License<br>
|
||||
along with this program. If not, see http://www.gnu.org/licenses/.<br>
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.<br>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -18,6 +18,7 @@ import android.widget.TextView;
|
||||
import org.itxtech.daedalus.BuildConfig;
|
||||
import org.itxtech.daedalus.Daedalus;
|
||||
import org.itxtech.daedalus.R;
|
||||
import org.itxtech.daedalus.fragment.AboutFragment;
|
||||
import org.itxtech.daedalus.fragment.DNSTestFragment;
|
||||
import org.itxtech.daedalus.fragment.MainFragment;
|
||||
import org.itxtech.daedalus.fragment.SettingsFragment;
|
||||
@ -45,12 +46,14 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
||||
public static final int FRAGMENT_MAIN = 0;
|
||||
public static final int FRAGMENT_DNS_TEST = 1;
|
||||
public static final int FRAGMENT_SETTINGS = 2;
|
||||
public static final int FRAGMENT_ABOUT = 3;
|
||||
|
||||
private static MainActivity instance = null;
|
||||
|
||||
private MainFragment mMain;
|
||||
private DNSTestFragment mDnsTest;
|
||||
private SettingsFragment mSettings;
|
||||
private AboutFragment mAbout;
|
||||
private int currentFragment = FRAGMENT_NONE;
|
||||
|
||||
public static MainActivity getInstance() {
|
||||
@ -113,6 +116,9 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
||||
case FRAGMENT_SETTINGS:
|
||||
menu.findItem(R.id.nav_settings).setChecked(true);
|
||||
break;
|
||||
case FRAGMENT_ABOUT:
|
||||
menu.findItem(R.id.nav_about).setChecked(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -128,6 +134,9 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
||||
case FRAGMENT_SETTINGS:
|
||||
toolbar.setTitle(R.string.action_settings);
|
||||
break;
|
||||
case FRAGMENT_ABOUT:
|
||||
toolbar.setTitle(R.string.action_about);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -160,6 +169,14 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
||||
toolbar.setTitle(R.string.action_settings);
|
||||
currentFragment = FRAGMENT_SETTINGS;
|
||||
break;
|
||||
case FRAGMENT_ABOUT:
|
||||
if (mAbout == null) {
|
||||
mAbout = new AboutFragment();
|
||||
}
|
||||
transaction.replace(R.id.id_content, mAbout);
|
||||
toolbar.setTitle(R.string.action_about);
|
||||
currentFragment = FRAGMENT_ABOUT;
|
||||
break;
|
||||
}
|
||||
transaction.commit();
|
||||
}
|
||||
@ -171,6 +188,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
||||
drawer.closeDrawer(GravityCompat.START);
|
||||
} else if (currentFragment != FRAGMENT_MAIN) {
|
||||
changeFragment(FRAGMENT_MAIN);
|
||||
updateNavigationMenu();
|
||||
} else {
|
||||
super.onBackPressed();
|
||||
}
|
||||
@ -184,6 +202,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
||||
mMain = null;
|
||||
mDnsTest = null;
|
||||
mSettings = null;
|
||||
mAbout = null;
|
||||
instance = null;
|
||||
System.gc();
|
||||
}
|
||||
@ -195,11 +214,6 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
||||
updateUserInterface(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostResume() {
|
||||
super.onPostResume();
|
||||
}
|
||||
|
||||
private void updateUserInterface(Intent intent) {
|
||||
Log.d(TAG, "Updating user interface");
|
||||
int launchAction = intent.getIntExtra(LAUNCH_ACTION, LAUNCH_ACTION_NONE);
|
||||
@ -215,6 +229,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
||||
int fragment = intent.getIntExtra(LAUNCH_FRAGMENT, FRAGMENT_NONE);
|
||||
if (fragment != FRAGMENT_NONE) {
|
||||
changeFragment(fragment);
|
||||
updateNavigationMenu();
|
||||
}
|
||||
}
|
||||
|
||||
@ -228,8 +243,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
||||
}
|
||||
|
||||
if (id == R.id.nav_about) {
|
||||
startActivity(new Intent(this, AboutActivity.class));
|
||||
item.setChecked(false);
|
||||
changeFragment(FRAGMENT_ABOUT);
|
||||
}
|
||||
|
||||
if (id == R.id.nav_dns_test) {
|
||||
@ -240,11 +254,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
|
||||
changeFragment(FRAGMENT_MAIN);
|
||||
}
|
||||
|
||||
if (id == R.id.nav_check_update) {
|
||||
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/iTXTech/Daedalus/releases")));
|
||||
}
|
||||
|
||||
if (id == R.id.nav_bug_report) {
|
||||
if (id == R.id.nav_github) {
|
||||
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/iTXTech/Daedalus/issues")));
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,96 @@
|
||||
package org.itxtech.daedalus.fragment;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Fragment;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.webkit.WebView;
|
||||
import android.webkit.WebViewClient;
|
||||
import org.itxtech.daedalus.BuildConfig;
|
||||
import org.itxtech.daedalus.Daedalus;
|
||||
import org.itxtech.daedalus.R;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* Daedalus Project
|
||||
*
|
||||
* @author iTXTech
|
||||
* @link https://itxtech.org
|
||||
* <p>
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, version 3.
|
||||
*/
|
||||
public class AboutFragment extends Fragment {
|
||||
private WebView mWebView = null;
|
||||
|
||||
@SuppressLint({"JavascriptInterface", "SetJavaScriptEnabled", "addJavascriptInterface"})
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.fragment_about, container, false);
|
||||
|
||||
mWebView = new WebView(Daedalus.getInstance());
|
||||
((ViewGroup) view.findViewById(R.id.fragment_about)).addView(mWebView);
|
||||
|
||||
mWebView.getSettings().setJavaScriptEnabled(true);
|
||||
mWebView.setBackgroundColor(0);
|
||||
mWebView.addJavascriptInterface(this, "JavascriptInterface");
|
||||
|
||||
mWebView.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View view) {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
if (Locale.getDefault().getLanguage().equals("zh")) {
|
||||
mWebView.loadUrl("file:///android_asset/about_html/index_zh.html");
|
||||
} else {
|
||||
mWebView.loadUrl("file:///android_asset/about_html/index.html");
|
||||
}
|
||||
|
||||
mWebView.setWebViewClient(new WebViewClient() {
|
||||
@Override
|
||||
public boolean shouldOverrideUrlLoading(WebView view, String url) {//for better compatibility
|
||||
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageFinished(WebView view, String url) {
|
||||
super.onPageFinished(view, url);
|
||||
try {
|
||||
mWebView.loadUrl("javascript:changeVersionInfo('" + Daedalus.getInstance().getPackageManager().getPackageInfo(Daedalus.getInstance().getPackageName(), 0).versionName + "', '" + BuildConfig.BUILD_TIME + "', '" + BuildConfig.GIT_COMMIT + "')");
|
||||
} catch (Exception e) {
|
||||
Log.e("DAboutActivity", e.toString());
|
||||
}
|
||||
}
|
||||
});
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
|
||||
if (mWebView != null) {
|
||||
Log.d("DAboutActivity", "onDestroy");
|
||||
|
||||
mWebView.removeAllViews();
|
||||
mWebView.setWebViewClient(null);
|
||||
((ViewGroup) mWebView.getParent()).removeView(mWebView);
|
||||
mWebView.setTag(null);
|
||||
mWebView.clearHistory();
|
||||
mWebView.destroy();
|
||||
mWebView = null;
|
||||
}
|
||||
|
||||
System.gc();
|
||||
}
|
||||
}
|
@ -97,15 +97,15 @@ public class DaedalusVpnService extends VpnService implements Runnable {
|
||||
builder.setWhen(0)
|
||||
.setContentTitle(getResources().getString(R.string.notification_activated))
|
||||
.setDefaults(NotificationCompat.DEFAULT_LIGHTS)
|
||||
.setSmallIcon(R.mipmap.ic_security_black_18dp)
|
||||
.setSmallIcon(R.drawable.ic_security_black_24dp)
|
||||
.setAutoCancel(false)
|
||||
.setOngoing(true)
|
||||
.setTicker(getResources().getString(R.string.notification_activated))
|
||||
.setContentIntent(pIntent)
|
||||
.addAction(R.mipmap.ic_security_black_18dp, getResources().getString(R.string.button_text_deactivate),
|
||||
.addAction(R.drawable.ic_security_black_24dp, getResources().getString(R.string.button_text_deactivate),
|
||||
PendingIntent.getBroadcast(this, 0,
|
||||
new Intent(StatusBarBroadcastReceiver.STATUS_BAR_BTN_DEACTIVATE_CLICK_ACTION), 0))
|
||||
.addAction(R.mipmap.ic_security_black_18dp, getResources().getString(R.string.action_settings),
|
||||
.addAction(R.drawable.ic_security_black_24dp, getResources().getString(R.string.action_settings),
|
||||
PendingIntent.getBroadcast(this, 0,
|
||||
new Intent(StatusBarBroadcastReceiver.STATUS_BAR_BTN_SETTINGS_CLICK_ACTION), 0));
|
||||
|
||||
|
@ -44,7 +44,7 @@ public class ClearAutoCompleteTextView extends AutoCompleteTextView implements V
|
||||
}
|
||||
|
||||
private void init(final Context context) {
|
||||
final Drawable drawable = ContextCompat.getDrawable(context, R.mipmap.ic_clear_grey600_18dp);
|
||||
final Drawable drawable = ContextCompat.getDrawable(context, R.drawable.ic_clear_black_24dp);
|
||||
final Drawable wrappedDrawable = DrawableCompat.wrap(drawable); //Wrap the drawable so that it can be tinted pre Lollipop
|
||||
DrawableCompat.setTint(wrappedDrawable, getCurrentHintTextColor());
|
||||
mClearTextIcon = wrappedDrawable;
|
||||
|
9
app/src/main/res/drawable/ic_clear_black_24dp.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
|
||||
</vector>
|
44
app/src/main/res/drawable/ic_github.xml
Normal file
@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="120dp"
|
||||
android:height="120dp"
|
||||
android:viewportHeight="120"
|
||||
android:viewportWidth="120">
|
||||
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M60.1,1.4C27,1.4,0.2,28.2,0.2,61.3c0,26.5,17.2,48.9,41,56.8c3,0.6,4.1-1.3,4.1-2.9
|
||||
c0-1.4-0.1-6.1-0.1-11.2C28.5,107.7,25,97.1,25,97.1c-2.7-6.9-6.6-8.8-6.6-8.8c-5.4-3.7,0.4-3.6,0.4-3.6c6,0.4,9.2,6.2,9.2,6.2
|
||||
c5.3,9.2,14,6.5,17.4,5c0.5-3.9,2.1-6.5,3.8-8c-13.3-1.5-27.3-6.6-27.3-29.6c0-6.5,2.3-11.9,6.2-16.1c-0.6-1.5-2.7-7.6,0.6-15.8
|
||||
c0,0,5-1.6,16.5,6.1c4.8-1.3,9.9-2,15-2c5.1,0,10.2,0.7,15,2c11.4-7.7,16.5-6.1,16.5-6.1c3.3,8.2,1.2,14.3,0.6,15.8
|
||||
c3.8,4.2,6.2,9.5,6.2,16.1c0,23-14,28.1-27.3,29.6c2.1,1.9,4.1,5.5,4.1,11.1c0,8-0.1,14.5-0.1,16.4c0,1.6,1.1,3.5,4.1,2.9
|
||||
c23.8-7.9,40.9-30.4,40.9-56.8C120,28.2,93.2,1.4,60.1,1.4z"/>
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M22.9,87.4c-0.1,0.3-0.6,0.4-1,0.2c-0.4-0.2-0.7-0.6-0.5-0.9c0.1-0.3,0.6-0.4,1-0.2
|
||||
C22.8,86.7,23.1,87.1,22.9,87.4L22.9,87.4z M22.2,86.9"/>
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M25.3,90.1c-0.3,0.3-0.8,0.1-1.2-0.3c-0.4-0.4-0.5-1-0.2-1.2c0.3-0.3,0.8-0.1,1.2,0.3
|
||||
C25.6,89.3,25.6,89.9,25.3,90.1L25.3,90.1z M24.8,89.5"/>
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M27.7,93.6c-0.4,0.3-1,0-1.3-0.5c-0.4-0.5-0.4-1.2,0-1.4c0.4-0.3,1,0,1.3,0.5C28.1,92.7,28.1,93.3,27.7,93.6
|
||||
L27.7,93.6z M27.7,93.6"/>
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M30.9,96.9c-0.3,0.4-1,0.3-1.5-0.2c-0.5-0.5-0.7-1.2-0.3-1.5c0.3-0.4,1-0.3,1.6,0.2
|
||||
C31.1,95.9,31.3,96.5,30.9,96.9L30.9,96.9z M30.9,96.9"/>
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M35.4,98.8c-0.1,0.5-0.8,0.7-1.5,0.5c-0.7-0.2-1.1-0.8-1-1.2c0.1-0.5,0.8-0.7,1.5-0.5
|
||||
C35.1,97.8,35.5,98.4,35.4,98.8L35.4,98.8z M35.4,98.8"/>
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M40.3,99.2c0,0.5-0.6,0.9-1.3,0.9c-0.7,0-1.3-0.4-1.3-0.9c0-0.5,0.6-0.9,1.3-0.9
|
||||
C39.7,98.3,40.3,98.7,40.3,99.2L40.3,99.2z M40.3,99.2"/>
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M44.9,98.4c0.1,0.5-0.4,1-1.1,1.1c-0.7,0.1-1.3-0.2-1.4-0.6c-0.1-0.5,0.4-1,1.1-1.1
|
||||
C44.1,97.6,44.8,97.9,44.9,98.4L44.9,98.4z M44.9,98.4"/>
|
||||
</vector>
|
9
app/src/main/res/drawable/ic_home_black_24dp.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z"/>
|
||||
</vector>
|
9
app/src/main/res/drawable/ic_info_black_24dp.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,17h-2v-6h2v6zM13,9h-2L11,7h2v2z"/>
|
||||
</vector>
|
9
app/src/main/res/drawable/ic_security_black_24dp.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M12,1L3,5v6c0,5.55 3.84,10.74 9,12 5.16,-1.26 9,-6.45 9,-12L21,5l-9,-4zM12,11.99h7c-0.53,4.12 -3.28,7.79 -7,8.94L12,12L5,12L5,6.3l7,-3.11v8.8z"/>
|
||||
</vector>
|
9
app/src/main/res/drawable/ic_settings_black_24dp.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M19.43,12.98c0.04,-0.32 0.07,-0.64 0.07,-0.98s-0.03,-0.66 -0.07,-0.98l2.11,-1.65c0.19,-0.15 0.24,-0.42 0.12,-0.64l-2,-3.46c-0.12,-0.22 -0.39,-0.3 -0.61,-0.22l-2.49,1c-0.52,-0.4 -1.08,-0.73 -1.69,-0.98l-0.38,-2.65C14.46,2.18 14.25,2 14,2h-4c-0.25,0 -0.46,0.18 -0.49,0.42l-0.38,2.65c-0.61,0.25 -1.17,0.59 -1.69,0.98l-2.49,-1c-0.23,-0.09 -0.49,0 -0.61,0.22l-2,3.46c-0.13,0.22 -0.07,0.49 0.12,0.64l2.11,1.65c-0.04,0.32 -0.07,0.65 -0.07,0.98s0.03,0.66 0.07,0.98l-2.11,1.65c-0.19,0.15 -0.24,0.42 -0.12,0.64l2,3.46c0.12,0.22 0.39,0.3 0.61,0.22l2.49,-1c0.52,0.4 1.08,0.73 1.69,0.98l0.38,2.65c0.03,0.24 0.24,0.42 0.49,0.42h4c0.25,0 0.46,-0.18 0.49,-0.42l0.38,-2.65c0.61,-0.25 1.17,-0.59 1.69,-0.98l2.49,1c0.23,0.09 0.49,0 0.61,-0.22l2,-3.46c0.12,-0.22 0.07,-0.49 -0.12,-0.64l-2.11,-1.65zM12,15.5c-1.93,0 -3.5,-1.57 -3.5,-3.5s1.57,-3.5 3.5,-3.5 3.5,1.57 3.5,3.5 -1.57,3.5 -3.5,3.5z"/>
|
||||
</vector>
|
@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M12,1L3,5v6c0,5.55 3.84,10.74 9,12 5.16,-1.26 9,-6.45 9,-12L21,5l-9,-4zM10,17l-4,-4 1.41,-1.41L10,14.17l6.59,-6.59L18,9l-8,8z"/>
|
||||
</vector>
|
@ -6,7 +6,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<RelativeLayout
|
||||
android:id="@+id/activity_about"
|
||||
android:id="@+id/fragment_about"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
@ -6,28 +6,26 @@
|
||||
<item android:id="@+id/nav_home"
|
||||
android:title="@string/action_home"
|
||||
android:checked="true"
|
||||
android:icon="@mipmap/ic_home_grey600_36dp"/>
|
||||
android:icon="@drawable/ic_home_black_24dp"/>
|
||||
<item android:id="@+id/nav_dns_test"
|
||||
android:title="@string/action_dns_test"
|
||||
android:checked="false"
|
||||
android:icon="@mipmap/ic_verified_user_white_36dp"/>
|
||||
<item android:id="@+id/nav_settings"
|
||||
android:title="@string/action_settings"
|
||||
android:icon="@mipmap/ic_settings_grey600_36dp"/>
|
||||
android:icon="@drawable/ic_verified_user_black_24dp"/>
|
||||
</group>
|
||||
|
||||
<group android:id="@+id/nav_group_more">
|
||||
<group android:checkableBehavior="single"
|
||||
android:id="@+id/nav_group_more">
|
||||
<item android:id="@+id/nav_settings"
|
||||
android:title="@string/action_settings"
|
||||
android:icon="@drawable/ic_settings_black_24dp"/>
|
||||
<item android:id="@+id/nav_about"
|
||||
android:title="@string/action_about"
|
||||
android:icon="@mipmap/ic_info_grey600_36dp"/>
|
||||
android:icon="@drawable/ic_info_black_24dp"/>
|
||||
</group>
|
||||
|
||||
<group android:id="@+id/nav_group_help_and_support">
|
||||
<item android:id="@+id/nav_check_update"
|
||||
android:title="@string/settings_check_update"
|
||||
android:icon="@mipmap/ic_file_upload_grey600_36dp"/>
|
||||
<item android:id="@+id/nav_bug_report"
|
||||
android:title="@string/settings_bug_report"
|
||||
android:icon="@mipmap/ic_bug_report_grey600_36dp"/>
|
||||
<item android:id="@+id/nav_github"
|
||||
android:title="@string/nav_github"
|
||||
android:icon="@drawable/ic_github"/>
|
||||
</group>
|
||||
</menu>
|
||||
|
@ -1,25 +0,0 @@
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:context="org.itxtech.daedalus.activity.AboutActivity">
|
||||
<item android:id="@+id/action_visit_itxtech"
|
||||
android:title="@string/action_visit_itxtech"
|
||||
android:orderInCategory="100"
|
||||
app:showAsAction="never"/>
|
||||
<item android:id="@+id/action_visit_github"
|
||||
android:title="@string/action_visit_github"
|
||||
android:orderInCategory="100"
|
||||
app:showAsAction="never"/>
|
||||
<item android:id="@+id/action_license"
|
||||
android:title="@string/action_license"
|
||||
android:orderInCategory="100"
|
||||
app:showAsAction="never"/>
|
||||
<!--item android:id="@+id/action_visit_cutedns"
|
||||
android:title="@string/action_visit_cutedns"
|
||||
android:orderInCategory="100"
|
||||
app:showAsAction="never"/-->
|
||||
<!--item android:id="@+id/action_join_qqgroup"
|
||||
android:title="@string/action_join_qqgroup"
|
||||
android:orderInCategory="100"
|
||||
app:showAsAction="never"/-->
|
||||
</menu>
|
Before Width: | Height: | Size: 515 B |
Before Width: | Height: | Size: 293 B |
Before Width: | Height: | Size: 340 B |
Before Width: | Height: | Size: 433 B |
Before Width: | Height: | Size: 631 B |
Before Width: | Height: | Size: 443 B |
Before Width: | Height: | Size: 780 B |
Before Width: | Height: | Size: 655 B |
Before Width: | Height: | Size: 360 B |
Before Width: | Height: | Size: 241 B |
Before Width: | Height: | Size: 262 B |
Before Width: | Height: | Size: 321 B |
Before Width: | Height: | Size: 448 B |
Before Width: | Height: | Size: 324 B |
Before Width: | Height: | Size: 572 B |
Before Width: | Height: | Size: 505 B |
Before Width: | Height: | Size: 681 B |
Before Width: | Height: | Size: 329 B |
Before Width: | Height: | Size: 339 B |
Before Width: | Height: | Size: 483 B |
Before Width: | Height: | Size: 762 B |
Before Width: | Height: | Size: 523 B |
Before Width: | Height: | Size: 994 B |
Before Width: | Height: | Size: 798 B |
Before Width: | Height: | Size: 900 B |
Before Width: | Height: | Size: 436 B |
Before Width: | Height: | Size: 425 B |
Before Width: | Height: | Size: 645 B |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 675 B |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 490 B |
Before Width: | Height: | Size: 578 B |
Before Width: | Height: | Size: 796 B |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 840 B |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.4 KiB |
@ -53,4 +53,5 @@
|
||||
<string name="server_neat_dns_education_network_alternative">Neat DNS 教育网备选</string>
|
||||
<string name="server_neat_dns_cmcc">Neat DNS 中国移动</string>
|
||||
<string name="server_neat_dns_china_telecom">Neat DNS 中国电信</string>
|
||||
<string name="nav_github">GitHub</string>
|
||||
</resources>
|
@ -53,4 +53,5 @@
|
||||
<string name="server_neat_dns_education_network_alternative">Neat DNS Education Network Alternative</string>
|
||||
<string name="server_neat_dns_cmcc">Neat DNS CMCC</string>
|
||||
<string name="server_neat_dns_china_telecom">Neat DNS China Telecom</string>
|
||||
<string name="nav_github">GitHub</string>
|
||||
</resources>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<shortcut
|
||||
android:enabled="true"
|
||||
android:icon="@mipmap/ic_settings_grey600_36dp"
|
||||
android:icon="@drawable/ic_settings_black_24dp"
|
||||
android:shortcutDisabledMessage="@string/action_settings"
|
||||
android:shortcutId="settings"
|
||||
android:shortcutLongLabel="@string/action_settings"
|
||||
|