diff --git a/android/FarmAlarm/app/build.gradle b/android/FarmAlarm/app/build.gradle
index f4a9233..3509e1e 100644
--- a/android/FarmAlarm/app/build.gradle
+++ b/android/FarmAlarm/app/build.gradle
@@ -30,4 +30,5 @@ dependencies {
compile 'com.android.support:support-v4:24.2.1'
compile 'com.android.support:support-vector-drawable:24.2.1'
testCompile 'junit:junit:4.12'
+ compile 'com.android.volley:volley:1.0.0'
}
diff --git a/android/FarmAlarm/app/src/main/AndroidManifest.xml b/android/FarmAlarm/app/src/main/AndroidManifest.xml
index da2a3f7..5ebd91d 100644
--- a/android/FarmAlarm/app/src/main/AndroidManifest.xml
+++ b/android/FarmAlarm/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
-
+
+
@@ -32,12 +35,17 @@
android:name=".AlarmPollingService"
android:exported="false" />
+
+
diff --git a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmNotification.java b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmNotification.java
index 28c8de1..0daee78 100644
--- a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmNotification.java
+++ b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmNotification.java
@@ -42,19 +42,18 @@ public class AlarmNotification {
* @see #cancel(Context)
*/
public static void notify(final Context context,
- final String exampleString, final int number) {
+ final String message, final int number) {
final Resources res = context.getResources();
// This image is used as the notification's large icon (thumbnail).
// TODO: Remove this if your notification has no relevant thumbnail.
- final Bitmap picture = BitmapFactory.decodeResource(res, R.drawable.example_picture);
+ final Bitmap picture = BitmapFactory.decodeResource(res, R.drawable.ic_stat_zoblak);
- final String ticker = exampleString;
+ final String ticker = message;
final String title = res.getString(
- R.string.alarm_notification_title_template, exampleString);
- final String text = res.getString(
- R.string.alarm_notification_placeholder_text_template, exampleString);
+ R.string.alarm_notification_title_template, message);
+ final String text = message;
final NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
@@ -64,7 +63,7 @@ public class AlarmNotification {
// Set required fields, including the small icon, the
// notification title, and text.
- .setSmallIcon(R.drawable.ic_stat_alarm)
+ .setSmallIcon(R.drawable.ic_stat_zoblak)
.setContentTitle(title)
.setContentText(text)
@@ -100,7 +99,7 @@ public class AlarmNotification {
PendingIntent.getActivity(
context,
0,
- new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")),
+ new Intent(context, MainScreen.class),
PendingIntent.FLAG_UPDATE_CURRENT))
// Automatically dismiss the notification when it is touched.
.setAutoCancel(true);
diff --git a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmPingResponse.java b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmPingResponse.java
index f7a0ac3..88dac4d 100644
--- a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmPingResponse.java
+++ b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmPingResponse.java
@@ -5,4 +5,96 @@ package com.zoblak.farmalarm;
*/
public class AlarmPingResponse {
-}
+
+ private String controller;
+
+ public AlarmPingResponse(String controller) {
+ this.controller = controller;
+ }
+
+ private Boolean alarmTriggered = false;
+ private Boolean tooHot = false;
+ private Boolean tooCold = false;
+ private Boolean boxSilent = false;
+ private Boolean phoneSilent = false;
+ private Boolean serverError = false;
+
+ public Boolean getAlarmTriggered() {
+ return alarmTriggered;
+ }
+
+ public void setAlarmTriggered(Boolean alarmTriggered) {
+ this.alarmTriggered = alarmTriggered;
+ }
+
+ public Boolean getTooHot() {
+ return tooHot;
+ }
+
+ public void setTooHot(Boolean tooHot) {
+ this.tooHot = tooHot;
+ }
+
+ public Boolean getTooCold() {
+ return tooCold;
+ }
+
+ public void setTooCold(Boolean tooCold) {
+ this.tooCold = tooCold;
+ }
+
+ public Boolean getBoxSilent() {
+ return boxSilent;
+ }
+
+ public void setBoxSilent(Boolean boxSilent) {
+ this.boxSilent = boxSilent;
+ }
+
+ public Boolean getPhoneSilent() {
+ return phoneSilent;
+ }
+
+ public void setPhoneSilent(Boolean phoneSilent) {
+ this.phoneSilent = phoneSilent;
+ }
+
+ public Boolean getServerError() {
+ return serverError;
+ }
+
+ public void setServerError(Boolean serverError) {
+ this.serverError = serverError;
+ }
+
+ public String toNotificationMessage() {
+ String message = "Sve je OK!";
+ if(getAlarmTriggered()) {
+ if (getAlarmTriggered()) {
+ message = "Alarm pokrenut! ";
+ }
+
+ if (getTooHot()) {
+ message += "Temperatura previsoka!";
+ }
+
+ if (getTooCold()) {
+ message += "Temperatura preniska!";
+ }
+
+ if (getBoxSilent()) {
+ message += "Zoblak kutija se nije javila na vrijeme!";
+ }
+
+ if (getPhoneSilent()) {
+ message += "Ni jedan telefon se nije javio na vrijeme! ";
+ }
+
+ if (getServerError()) {
+ message += "Ne radi internet na telefonu! ";
+ }
+
+ }
+ return message;
+ }
+}
\ No newline at end of file
diff --git a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmPollingService.java b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmPollingService.java
index 6636052..613cceb 100644
--- a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmPollingService.java
+++ b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmPollingService.java
@@ -3,6 +3,12 @@ package com.zoblak.farmalarm;
import android.app.IntentService;
import android.content.Intent;
import android.content.Context;
+import android.media.Ringtone;
+import android.media.RingtoneManager;
+import android.net.Uri;
+import android.os.PowerManager;
+import android.util.Log;
+import android.widget.Toast;
/**
* An {@link IntentService} subclass for handling asynchronous task requests in
@@ -15,10 +21,13 @@ public class AlarmPollingService extends IntentService {
// TODO: Rename actions, choose action names that describe tasks that this
// IntentService can perform, e.g. ACTION_FETCH_NEW_ITEMS
private static final String ACTION_PING = "com.zoblak.farmalarm.action.PING";
+ private static final String ACTION_STOP_ALARM = "com.zoblak.farmalarm.action.STOP_ALARM";
// TODO: Rename parameters
private static final String CONTROLLERS = "com.zoblak.farmalarm.extra.CONTROLLLERS";
+ private AlarmResponseHandler handler;
+
public AlarmPollingService() {
super("AlarmPollingService");
@@ -30,7 +39,6 @@ public class AlarmPollingService extends IntentService {
*
* @see IntentService
*/
- // TODO: Customize helper method
public static void startActionPing(Context context, String controllers) {
Intent intent = new Intent(context, AlarmPollingService.class);
intent.setAction(ACTION_PING);
@@ -55,7 +63,16 @@ public class AlarmPollingService extends IntentService {
* parameters.
*/
private void handleActionPing(String controllers) {
- // do something
+
+ PowerManager powerManager = (PowerManager) this.getSystemService(POWER_SERVICE);
+ PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
+ "AlarmPingerWakeLock");
+ wakeLock.acquire();
+ ZoblakClient zc = new ZoblakClient(controllers);
+ handler = new AlarmResponseHandler(this,zc.PingServer());
+ handler.handle();
+
+ wakeLock.release();
}
diff --git a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmResponseHandler.java b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmResponseHandler.java
index 38fc06b..8f98751 100644
--- a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmResponseHandler.java
+++ b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/AlarmResponseHandler.java
@@ -1,8 +1,39 @@
package com.zoblak.farmalarm;
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.media.AudioAttributes;
+import android.media.AudioManager;
+import android.media.Ringtone;
+import android.media.RingtoneManager;
+import android.net.Uri;
+import android.os.Build;
+import android.util.Log;
+
/**
* Created by senadu on 11/15/16.
*/
public class AlarmResponseHandler {
+
+ AlarmPingResponse response;
+ Context context;
+
+
+ public AlarmResponseHandler(Context context, AlarmPingResponse response) {
+ this.response = response;
+ this.context = context;
+ }
+
+ public void handle() {
+
+ if (response.getAlarmTriggered()) {
+ AlarmNotification.notify(context, response.toNotificationMessage(), 1);
+ SoundPlayingService.startPlayingAlarm(context);
+ }
+
+ }
+
+
+
}
diff --git a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/MainScreen.java b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/MainScreen.java
index 352c703..5bbef2b 100644
--- a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/MainScreen.java
+++ b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/MainScreen.java
@@ -1,5 +1,12 @@
package com.zoblak.farmalarm;
+import android.app.AlarmManager;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.media.Ringtone;
+import android.media.RingtoneManager;
+import android.net.Uri;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
@@ -9,8 +16,13 @@ import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
+import java.lang.System;
+
public class MainScreen extends AppCompatActivity {
+ private AlarmManager alarmMgr;
+ private PendingIntent alarmIntent;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -26,6 +38,27 @@ public class MainScreen extends AppCompatActivity {
.setAction("Action", null).show();
}
});
+
+ Intent intent = new Intent(this, PeriodicalPingReceiver.class);
+
+ alarmIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
+
+
+ int PERIOD_IN_MS = 5 * 60 * 1000; // 5 minutes
+
+ alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
+ // Hopefully your alarm will have a lower frequency than this!
+ alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP,
+ System.currentTimeMillis(),
+ PERIOD_IN_MS, alarmIntent);
+
+ }
+
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ SoundPlayingService.stopPlayingAlarm(this);
}
@Override
@@ -44,9 +77,13 @@ public class MainScreen extends AppCompatActivity {
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
+ Intent intent = new Intent(this, SettingsActivity.class);
+ startActivity(intent);
return true;
}
return super.onOptionsItemSelected(item);
}
+
+
}
diff --git a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/MainScreenFragment.java b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/MainScreenFragment.java
index 98b9453..5aa84d7 100644
--- a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/MainScreenFragment.java
+++ b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/MainScreenFragment.java
@@ -27,6 +27,7 @@ public class MainScreenFragment extends Fragment {
WebView webView = (WebView)view.findViewById(R.id.main_web_view);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
+ webSettings.setDomStorageEnabled(true);
webView.loadUrl("http://agrar.zoblak.com/alarm");
return view;
diff --git a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/PeriodicalPingReceiver.java b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/PeriodicalPingReceiver.java
index 64e82d9..4649802 100644
--- a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/PeriodicalPingReceiver.java
+++ b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/PeriodicalPingReceiver.java
@@ -4,14 +4,19 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.os.PowerManager;
import android.preference.PreferenceManager;
+import android.util.Log;
+import android.widget.Toast;
+
+import static android.content.Context.POWER_SERVICE;
public class PeriodicalPingReceiver extends BroadcastReceiver {
public PeriodicalPingReceiver() {
}
@Override
- public void onReceive(Context context, Intent intent) {
+ public void onReceive(Context context, Intent intent) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String controllers = prefs.getString("controllers", null);
diff --git a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/SettingsActivity.java b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/SettingsActivity.java
index a65d68e..49b265c 100644
--- a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/SettingsActivity.java
+++ b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/SettingsActivity.java
@@ -188,7 +188,6 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
// to their values. When their values change, their summaries are
// updated to reflect the new value, per the Android Design
// guidelines.
- bindPreferenceSummaryToValue(findPreference("alarm_set"));
bindPreferenceSummaryToValue(findPreference("controllers"));
bindPreferenceSummaryToValue(findPreference("period_minutes"));
}
diff --git a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/SoundPlayingService.java b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/SoundPlayingService.java
new file mode 100644
index 0000000..9428c59
--- /dev/null
+++ b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/SoundPlayingService.java
@@ -0,0 +1,73 @@
+package com.zoblak.farmalarm;
+
+import android.app.Service;
+import android.content.Context;
+import android.content.Intent;
+import android.media.AudioAttributes;
+import android.media.AudioManager;
+import android.media.Ringtone;
+import android.media.RingtoneManager;
+import android.net.Uri;
+import android.os.Build;
+import android.os.IBinder;
+
+/**
+ * Created by senadu on 11/18/16.
+ */
+
+public class SoundPlayingService extends Service
+{
+ private Ringtone ringtone;
+
+ @Override
+ public IBinder onBind(Intent intent)
+ {
+ return null;
+ }
+
+ @Override
+ public int onStartCommand(Intent intent, int flags, int startId)
+ {
+ startTheAlarm();
+
+ return START_NOT_STICKY;
+ }
+
+ @Override
+ public void onDestroy()
+ {
+ stopTheAlarm();
+ }
+
+ public static void startPlayingAlarm(Context context) {
+ Intent startIntent = new Intent(context, SoundPlayingService.class);
+ context.startService(startIntent);
+ }
+
+ public static void stopPlayingAlarm(Context context) {
+ Intent startIntent = new Intent(context, SoundPlayingService.class);
+ context.stopService(startIntent);
+ }
+
+ @SuppressWarnings("deprecation")
+ private void startTheAlarm() {
+ Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
+ ringtone = RingtoneManager.getRingtone(this, notification);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ AudioAttributes attributes = new AudioAttributes.Builder()
+ .setUsage(AudioAttributes.USAGE_GAME)
+ .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
+ .build();
+ ringtone.setAudioAttributes(attributes);
+ } else {
+ ringtone.setStreamType(AudioManager.STREAM_ALARM);
+ }
+ ringtone.play();
+ }
+
+ public void stopTheAlarm() {
+ if(ringtone != null && ringtone.isPlaying()) {
+ ringtone.stop();
+ }
+ }
+}
\ No newline at end of file
diff --git a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/ZoblakClient.java b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/ZoblakClient.java
index 31d5bc6..3128bd8 100644
--- a/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/ZoblakClient.java
+++ b/android/FarmAlarm/app/src/main/java/com/zoblak/farmalarm/ZoblakClient.java
@@ -1,8 +1,131 @@
package com.zoblak.farmalarm;
+
+import android.util.JsonReader;
+import android.util.JsonToken;
+import android.util.Log;
+import java.io.BufferedInputStream;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.StringReader;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+
/**
* Created by senadu on 11/14/16.
*/
public class ZoblakClient {
+ private String controllers;
+
+ public ZoblakClient(String controllers) {
+ this.controllers = controllers;
+
+
+ }
+
+ public AlarmPingResponse PingServer() {
+ HttpURLConnection urlConnection = null;
+ AlarmPingResponse result = new AlarmPingResponse(controllers);
+
+ URL url = null;
+ try {
+ url = new URL("http://agrar.zoblak.com/api/v1.0/alarm/" + controllers + "/phonePing");
+
+ urlConnection = (HttpURLConnection) url.openConnection();
+ urlConnection.setReadTimeout(10000);
+ urlConnection.setConnectTimeout(15000);
+ urlConnection.setRequestMethod("POST");
+ urlConnection.setDoInput(true);
+ urlConnection.setDoOutput(true);
+ urlConnection.setRequestProperty("Content-Type", "application/json");
+
+ OutputStream os = urlConnection.getOutputStream();
+ BufferedWriter writer = new BufferedWriter(
+ new OutputStreamWriter(os, "UTF-8"));
+ writer.write("{}");
+ writer.flush();
+ writer.close();
+ os.close();
+
+ urlConnection.connect();
+
+ InputStream in = urlConnection.getInputStream();
+ String jsonString = convertStreamToString(in);
+ Log.e("JsonString", jsonString);
+ JsonReader jr = new JsonReader(new StringReader(jsonString));
+ result = readResponse(jr);
+
+ } catch (MalformedURLException e) {
+ Log.e("zoblakClient", "malformed: " + e.getLocalizedMessage());
+ } catch (IOException e) {
+ Log.e("zoblakClient", "ioexception: " + e.getLocalizedMessage());
+ result.setAlarmTriggered(true);
+ result.setServerError(true);
+ }
+
+ if (urlConnection != null) urlConnection.disconnect();
+
+ return result; // if no response then
+ }
+
+ private AlarmPingResponse readResponse(JsonReader reader) {
+ AlarmPingResponse result = new AlarmPingResponse(controllers);
+
+
+ try {
+ reader.beginObject();
+ while (reader.hasNext()) {
+ String name = reader.nextName();
+ if (name.equals("alarmTriggered") && reader.peek() != JsonToken.NULL) {
+ result.setAlarmTriggered(reader.nextBoolean());
+ } else if (name.equals("tooHot") && reader.peek() != JsonToken.NULL) {
+ result.setTooHot(reader.nextBoolean());
+ } else if (name.equals("tooCold") && reader.peek() != JsonToken.NULL) {
+ result.setTooCold(reader.nextBoolean());
+ } else if (name.equals("boxSilent") && reader.peek() != JsonToken.NULL) {
+ result.setBoxSilent(reader.nextBoolean());
+ } else {
+ reader.skipValue();
+ }
+ }
+ } catch (IOException e) {
+ Log.e("zoblakClient", "reading result: " + e.getLocalizedMessage());
+ }
+
+ return result;
+
+
+ }
+
+
+ private static String convertStreamToString(InputStream is) {
+
+ BufferedReader reader = new BufferedReader(new InputStreamReader(is));
+ StringBuilder sb = new StringBuilder();
+
+ String line = null;
+ try {
+ while ((line = reader.readLine()) != null) {
+ sb.append(line + "\n");
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ is.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ return sb.toString();
+ }
+
}
diff --git a/android/FarmAlarm/app/src/main/res/drawable-hdpi-v11/ic_stat_zoblak.png b/android/FarmAlarm/app/src/main/res/drawable-hdpi-v11/ic_stat_zoblak.png
new file mode 100644
index 0000000..31e7539
Binary files /dev/null and b/android/FarmAlarm/app/src/main/res/drawable-hdpi-v11/ic_stat_zoblak.png differ
diff --git a/android/FarmAlarm/app/src/main/res/drawable-hdpi/ic_stat_zoblak.png b/android/FarmAlarm/app/src/main/res/drawable-hdpi/ic_stat_zoblak.png
new file mode 100644
index 0000000..f0cd1b0
Binary files /dev/null and b/android/FarmAlarm/app/src/main/res/drawable-hdpi/ic_stat_zoblak.png differ
diff --git a/android/FarmAlarm/app/src/main/res/drawable-mdpi-v11/ic_stat_zoblak.png b/android/FarmAlarm/app/src/main/res/drawable-mdpi-v11/ic_stat_zoblak.png
new file mode 100644
index 0000000..1b09040
Binary files /dev/null and b/android/FarmAlarm/app/src/main/res/drawable-mdpi-v11/ic_stat_zoblak.png differ
diff --git a/android/FarmAlarm/app/src/main/res/drawable-mdpi/ic_stat_zoblak.png b/android/FarmAlarm/app/src/main/res/drawable-mdpi/ic_stat_zoblak.png
new file mode 100644
index 0000000..5372f6c
Binary files /dev/null and b/android/FarmAlarm/app/src/main/res/drawable-mdpi/ic_stat_zoblak.png differ
diff --git a/android/FarmAlarm/app/src/main/res/drawable-xhdpi-v11/ic_stat_zoblak.png b/android/FarmAlarm/app/src/main/res/drawable-xhdpi-v11/ic_stat_zoblak.png
new file mode 100644
index 0000000..704633c
Binary files /dev/null and b/android/FarmAlarm/app/src/main/res/drawable-xhdpi-v11/ic_stat_zoblak.png differ
diff --git a/android/FarmAlarm/app/src/main/res/drawable-xhdpi/ic_stat_zoblak.png b/android/FarmAlarm/app/src/main/res/drawable-xhdpi/ic_stat_zoblak.png
new file mode 100644
index 0000000..34ad657
Binary files /dev/null and b/android/FarmAlarm/app/src/main/res/drawable-xhdpi/ic_stat_zoblak.png differ
diff --git a/android/FarmAlarm/app/src/main/res/drawable-xxhdpi-v11/ic_stat_zoblak.png b/android/FarmAlarm/app/src/main/res/drawable-xxhdpi-v11/ic_stat_zoblak.png
new file mode 100644
index 0000000..9ec96ec
Binary files /dev/null and b/android/FarmAlarm/app/src/main/res/drawable-xxhdpi-v11/ic_stat_zoblak.png differ
diff --git a/android/FarmAlarm/app/src/main/res/drawable-xxhdpi/ic_stat_zoblak.png b/android/FarmAlarm/app/src/main/res/drawable-xxhdpi/ic_stat_zoblak.png
new file mode 100644
index 0000000..9e518c5
Binary files /dev/null and b/android/FarmAlarm/app/src/main/res/drawable-xxhdpi/ic_stat_zoblak.png differ
diff --git a/android/FarmAlarm/app/src/main/res/drawable-xxxhdpi-v11/ic_stat_zoblak.png b/android/FarmAlarm/app/src/main/res/drawable-xxxhdpi-v11/ic_stat_zoblak.png
new file mode 100644
index 0000000..03119c0
Binary files /dev/null and b/android/FarmAlarm/app/src/main/res/drawable-xxxhdpi-v11/ic_stat_zoblak.png differ
diff --git a/android/FarmAlarm/app/src/main/res/drawable-xxxhdpi/ic_stat_zoblak.png b/android/FarmAlarm/app/src/main/res/drawable-xxxhdpi/ic_stat_zoblak.png
new file mode 100644
index 0000000..09178e1
Binary files /dev/null and b/android/FarmAlarm/app/src/main/res/drawable-xxxhdpi/ic_stat_zoblak.png differ
diff --git a/android/FarmAlarm/app/src/main/res/layout/fragment_main_screen.xml b/android/FarmAlarm/app/src/main/res/layout/fragment_main_screen.xml
index 323667d..d25fd23 100644
--- a/android/FarmAlarm/app/src/main/res/layout/fragment_main_screen.xml
+++ b/android/FarmAlarm/app/src/main/res/layout/fragment_main_screen.xml
@@ -15,7 +15,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/main_web_view"
- android:partition="persist:browser"
>
diff --git a/android/FarmAlarm/app/src/main/res/values/strings.xml b/android/FarmAlarm/app/src/main/res/values/strings.xml
index b1dce71..d6c66e2 100644
--- a/android/FarmAlarm/app/src/main/res/values/strings.xml
+++ b/android/FarmAlarm/app/src/main/res/values/strings.xml
@@ -1,6 +1,6 @@
Farm Alarm
- Settings
+ Podešavanje
Podešavanje
diff --git a/android/FarmAlarm/app/src/main/res/xml/pref_general.xml b/android/FarmAlarm/app/src/main/res/xml/pref_general.xml
index 07c3663..e7562ff 100644
--- a/android/FarmAlarm/app/src/main/res/xml/pref_general.xml
+++ b/android/FarmAlarm/app/src/main/res/xml/pref_general.xml
@@ -6,6 +6,7 @@
android:defaultValue="false"
android:title="Uključiti alram"
android:key="alarm_set" />
+