diff options
-rw-r--r-- | app/src/main/java/org/traccar/manager/MainActivity.java | 10 | ||||
-rw-r--r-- | app/src/main/java/org/traccar/manager/MainFragment.java | 47 | ||||
-rw-r--r-- | app/src/main/java/org/traccar/manager/StartFragment.java | 33 | ||||
-rw-r--r-- | app/src/main/res/layout/fragment_start.xml | 59 | ||||
-rw-r--r-- | app/src/main/res/values-v21/styles.xml | 4 | ||||
-rw-r--r-- | app/src/main/res/values/dimens.xml | 3 | ||||
-rw-r--r-- | app/src/main/res/values/strings.xml | 3 | ||||
-rw-r--r-- | app/src/main/res/values/styles.xml | 4 |
8 files changed, 160 insertions, 3 deletions
diff --git a/app/src/main/java/org/traccar/manager/MainActivity.java b/app/src/main/java/org/traccar/manager/MainActivity.java index c8d202d..2c44c87 100644 --- a/app/src/main/java/org/traccar/manager/MainActivity.java +++ b/app/src/main/java/org/traccar/manager/MainActivity.java @@ -18,13 +18,23 @@ package org.traccar.manager; import android.app.Activity; import android.os.Bundle; +import android.preference.PreferenceManager; public class MainActivity extends Activity { + public static final String PREFERENCE_URL = "url"; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); 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(); + } } } diff --git a/app/src/main/java/org/traccar/manager/MainFragment.java b/app/src/main/java/org/traccar/manager/MainFragment.java new file mode 100644 index 0000000..58bf852 --- /dev/null +++ b/app/src/main/java/org/traccar/manager/MainFragment.java @@ -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"); + } + +} diff --git a/app/src/main/java/org/traccar/manager/StartFragment.java b/app/src/main/java/org/traccar/manager/StartFragment.java new file mode 100644 index 0000000..3c4f834 --- /dev/null +++ b/app/src/main/java/org/traccar/manager/StartFragment.java @@ -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; + } + +} diff --git a/app/src/main/res/layout/fragment_start.xml b/app/src/main/res/layout/fragment_start.xml new file mode 100644 index 0000000..404fbbd --- /dev/null +++ b/app/src/main/res/layout/fragment_start.xml @@ -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> diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml new file mode 100644 index 0000000..52f0d10 --- /dev/null +++ b/app/src/main/res/values-v21/styles.xml @@ -0,0 +1,4 @@ +<resources> + <style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar"> + </style> +</resources> diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml new file mode 100644 index 0000000..5b56f0f --- /dev/null +++ b/app/src/main/res/values/dimens.xml @@ -0,0 +1,3 @@ +<resources> + <dimen name="spacing_normal">16dp</dimen> +</resources> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 482efed..4e51b6b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,6 @@ <resources> <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> diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 44ec70b..31ea1fb 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,6 +1,4 @@ <resources> - - <style name="AppTheme" parent="android:Theme.Light.NoTitleBar"> + <style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar"> </style> - </resources> |