Этот коммит содержится в:
Anton Tananaev
2016-11-05 11:43:18 +13:00
родитель b5375c8832
Коммит 98db69bb29
8 изменённых файлов: 160 добавлений и 3 удалений
+10
Просмотреть файл
@@ -18,13 +18,23 @@ package org.traccar.manager;
import android.app.Activity; import android.app.Activity;
import android.os.Bundle; import android.os.Bundle;
import android.preference.PreferenceManager;
public class MainActivity extends Activity { public class MainActivity extends Activity {
public static final String PREFERENCE_URL = "url";
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
String url = PreferenceManager.getDefaultSharedPreferences(this).getString(PREFERENCE_URL, null);
if (url != null) {
getFragmentManager().beginTransaction().add(android.R.id.content, new MainFragment()).commit();
} else {
getFragmentManager().beginTransaction().add(android.R.id.content, new StartFragment()).commit();
}
} }
} }
+47
Просмотреть файл
@@ -0,0 +1,47 @@
/*
* Copyright 2016 Anton Tananaev (anton@traccar.org)
*
* 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, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.traccar.manager;
import android.content.pm.ApplicationInfo;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewFragment;
public class MainFragment extends WebViewFragment {
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
if ((getActivity().getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE) != 0) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(true);
}
}
WebSettings webSettings = getWebView().getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setDatabaseEnabled(true);
getWebView().loadUrl("http://10.0.2.2:8082");
}
}
+33
Просмотреть файл
@@ -0,0 +1,33 @@
/*
* Copyright 2016 Anton Tananaev (anton@traccar.org)
*
* 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, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.traccar.manager;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class StartFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_start, container, false);
return view;
}
}
+59
Просмотреть файл
@@ -0,0 +1,59 @@
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/spacing_normal"
android:orientation="vertical">
<TextView
android:id="@+id/label_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/spacing_normal"
android:textAppearance="?android:textAppearanceLarge"
android:text="@string/app_name" />
<TextView
android:id="@+id/label_server"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/field_server"
android:textAppearance="?android:textAppearanceMedium"
android:text="@string/label_server" />
<EditText
android:id="@+id/field_server"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/label_name"
android:layout_toEndOf="@+id/label_server"
android:layout_toRightOf="@+id/label_server"
android:layout_marginTop="@dimen/spacing_normal"
android:layout_marginStart="@dimen/spacing_normal"
android:layout_marginLeft="@dimen/spacing_normal"
android:text="http://demo.traccar.org" />
<TextView
android:id="@+id/label_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/field_server"
android:layout_marginTop="@dimen/spacing_normal"
android:gravity="center_horizontal"
android:text="@string/label_info" />
<Button
android:id="@+id/button_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/label_info"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/spacing_normal"
android:paddingStart="@dimen/spacing_normal"
android:paddingLeft="@dimen/spacing_normal"
android:paddingEnd="@dimen/spacing_normal"
android:paddingRight="@dimen/spacing_normal"
android:text="@string/button_start" />
</RelativeLayout>
+4
Просмотреть файл
@@ -0,0 +1,4 @@
<resources>
<style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar">
</style>
</resources>
+3
Просмотреть файл
@@ -0,0 +1,3 @@
<resources>
<dimen name="spacing_normal">16dp</dimen>
</resources>
+3
Просмотреть файл
@@ -1,3 +1,6 @@
<resources> <resources>
<string name="app_name">Traccar Manager</string> <string name="app_name">Traccar Manager</string>
<string name="label_server">Server</string>
<string name="label_info">This screen will be shown only once. After you click the button, server address will be saved in preferences. To change it, clear app data from application manager.</string>
<string name="button_start">Start</string>
</resources> </resources>
+1 -3
Просмотреть файл
@@ -1,6 +1,4 @@
<resources> <resources>
<style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar">
<style name="AppTheme" parent="android:Theme.Light.NoTitleBar">
</style> </style>
</resources> </resources>