From a71e09d4a14a7b9141bf747b0ae53afa7cec8127 Mon Sep 17 00:00:00 2001 From: Pavle Portic Date: Fri, 13 Apr 2018 03:03:27 +0200 Subject: [PATCH] Add hostname settings --- .idea/caches/build_file_checksums.ser | Bin 534 -> 534 bytes app/build.gradle | 41 +++++----- app/src/main/AndroidManifest.xml | 7 +- .../me/xor_hydrogen/i3control/ApiService.java | 13 ++- .../xor_hydrogen/i3control/MainActivity.java | 25 ++++++ .../i3control/SettingsActivity.java | 25 ++++++ .../main/res/drawable/ic_settings_fg_24dp.xml | 9 +++ app/src/main/res/layout/activity_main.xml | 1 + app/src/main/res/menu/actionbar_menu.xml | 11 +++ app/src/main/res/values/strings.xml | 75 ++++++++++++++++++ app/src/main/res/values/styles.xml | 8 ++ app/src/main/res/xml/preferences.xml | 7 ++ 12 files changed, 200 insertions(+), 22 deletions(-) create mode 100644 app/src/main/java/me/xor_hydrogen/i3control/SettingsActivity.java create mode 100644 app/src/main/res/drawable/ic_settings_fg_24dp.xml create mode 100644 app/src/main/res/menu/actionbar_menu.xml create mode 100644 app/src/main/res/xml/preferences.xml diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index e08f7dbd2347b538a2bd9f1ab2637ea3845eaa3c..3dd8c068cac4596707045515bc905ca4e035939f 100644 GIT binary patch delta 33 pcmbQnGL2=z43<5D8|*gD$z&AN@ciE0)2y-ZNLX^m`P25H6#(O34q5;J delta 33 rcmV++0N($W1eOGlm;{G` + + - \ No newline at end of file + diff --git a/app/src/main/java/me/xor_hydrogen/i3control/ApiService.java b/app/src/main/java/me/xor_hydrogen/i3control/ApiService.java index 6c63874..9c04a6f 100644 --- a/app/src/main/java/me/xor_hydrogen/i3control/ApiService.java +++ b/app/src/main/java/me/xor_hydrogen/i3control/ApiService.java @@ -1,7 +1,9 @@ package me.xor_hydrogen.i3control; import android.content.Context; +import android.content.SharedPreferences; import android.util.Log; +import android.widget.Toast; import com.android.volley.Request; import com.android.volley.RequestQueue; @@ -13,7 +15,16 @@ import com.android.volley.toolbox.Volley; class ApiService { static void sendRequest(String endpoint, Context context) { RequestQueue queue = Volley.newRequestQueue(context); - String url ="http://router/" + endpoint; + + SharedPreferences settings = context.getSharedPreferences( + context.getApplicationContext().getPackageName() + "_preferences", 0); + String host = settings.getString("pref_host", ""); + if (host.equals("")) { + Toast.makeText(context, "No host set", Toast.LENGTH_SHORT).show(); + return; + } + + String url ="http://" + host + "/" + endpoint; Log.i(context.getClass().getName(), "Sending request to: " + url); StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener() { diff --git a/app/src/main/java/me/xor_hydrogen/i3control/MainActivity.java b/app/src/main/java/me/xor_hydrogen/i3control/MainActivity.java index 4a2e556..8503358 100644 --- a/app/src/main/java/me/xor_hydrogen/i3control/MainActivity.java +++ b/app/src/main/java/me/xor_hydrogen/i3control/MainActivity.java @@ -1,13 +1,38 @@ package me.xor_hydrogen.i3control; import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.util.Log; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; import android.widget.ImageButton; +import android.widget.Toast; public class MainActivity extends AppCompatActivity { + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.actionbar_menu, menu); + return super.onCreateOptionsMenu(menu); + + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.action_settings: + startActivity(new Intent(MainActivity.this, SettingsActivity.class)); + break; + } + return true; + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/app/src/main/java/me/xor_hydrogen/i3control/SettingsActivity.java b/app/src/main/java/me/xor_hydrogen/i3control/SettingsActivity.java new file mode 100644 index 0000000..71d5ce7 --- /dev/null +++ b/app/src/main/java/me/xor_hydrogen/i3control/SettingsActivity.java @@ -0,0 +1,25 @@ +package me.xor_hydrogen.i3control; + +import android.os.Bundle; +import android.preference.PreferenceActivity; +import android.preference.PreferenceFragment; + +public class SettingsActivity extends PreferenceActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + getFragmentManager().beginTransaction() + .replace(android.R.id.content, new SettingsFragment()) + .commit(); + } + + static public class SettingsFragment extends PreferenceFragment { + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + addPreferencesFromResource(R.xml.preferences); + } + } +} diff --git a/app/src/main/res/drawable/ic_settings_fg_24dp.xml b/app/src/main/res/drawable/ic_settings_fg_24dp.xml new file mode 100644 index 0000000..db8da02 --- /dev/null +++ b/app/src/main/res/drawable/ic_settings_fg_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 3c6e508..5f9b88a 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -113,4 +113,5 @@ app:layout_constraintTop_toBottomOf="@+id/volUpButton" app:srcCompat="@drawable/ic_skip_next_black_24dp" android:contentDescription="@string/next"/> + diff --git a/app/src/main/res/menu/actionbar_menu.xml b/app/src/main/res/menu/actionbar_menu.xml new file mode 100644 index 0000000..f4e5e26 --- /dev/null +++ b/app/src/main/res/menu/actionbar_menu.xml @@ -0,0 +1,11 @@ + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2fc1e31..f973eee 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -6,4 +6,79 @@ Previous Play Next + Settings + Hostname/IP + Settings + + + + + General + + Enable social recommendations + Recommendations for people to contact + based on your message history + + + Display name + John Smith + + Add friends to messages + + Always + When possible + Never + + + 1 + 0 + -1 + + + + Data & sync + + Sync frequency + + 15 minutes + 30 minutes + 1 hour + 3 hours + 6 hours + Never + + + 15 + 30 + 60 + 180 + 360 + -1 + + + + Entry 1 + Entry 2 + Entry 3 + + + + 1 + 2 + 3 + + + + + System sync settings + + + Notifications + + New message notifications + + Ringtone + Silent + + Vibrate diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 51b30b8..32ae2a0 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -10,5 +10,13 @@ @color/colorBackground + diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml new file mode 100644 index 0000000..d7676b5 --- /dev/null +++ b/app/src/main/res/xml/preferences.xml @@ -0,0 +1,7 @@ + + + +