diff --git a/app/src/main/java/fr/free/nrw/commons/Utils.java b/app/src/main/java/fr/free/nrw/commons/Utils.java index 0ece6e119..d296fdbcf 100644 --- a/app/src/main/java/fr/free/nrw/commons/Utils.java +++ b/app/src/main/java/fr/free/nrw/commons/Utils.java @@ -1,7 +1,9 @@ package fr.free.nrw.commons; +import android.content.Context; import android.net.Uri; import android.os.Build; +import android.preference.PreferenceManager; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.assist.ImageScaleType; @@ -306,4 +308,12 @@ public class Utils { public static boolean isNullOrWhiteSpace(String value) { return value == null || value.trim().isEmpty(); } + + public static boolean isDarkTheme(Context context) { + if (PreferenceManager.getDefaultSharedPreferences(context).getBoolean("theme",true)) { + return true; + }else { + return false; + } + } } diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyActivity.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyActivity.java index 0f8f176de..43966f7a4 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyActivity.java @@ -3,6 +3,7 @@ package fr.free.nrw.commons.nearby; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; +import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; import android.view.Menu; import android.view.MenuInflater; @@ -71,6 +72,11 @@ public class NearbyActivity extends BaseActivity { return true; case R.id.action_map: showMapView(); + if (isMapViewActive) { + item.setIcon(R.drawable.ic_list_white_24dp); + } else { + item.setIcon(R.drawable.ic_map_white_24dp); + } return true; default: return super.onOptionsItemSelected(item); @@ -83,6 +89,12 @@ public class NearbyActivity extends BaseActivity { if (nearbyAsyncTask.getStatus() == AsyncTask.Status.FINISHED) { setMapFragment(); } + + } else { + isMapViewActive = false; + if (nearbyAsyncTask.getStatus() == AsyncTask.Status.FINISHED) { + setListFragment(); + } } } @@ -160,22 +172,21 @@ public class NearbyActivity extends BaseActivity { * Calls fragment for map view. */ public void setMapFragment() { - FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); - NearbyMapFragment fragment = new NearbyMapFragment(); + FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); + Fragment fragment = new NearbyMapFragment(); fragment.setArguments(bundle); - ft.add(R.id.container, fragment); - ft.commit(); + fragmentTransaction.replace(R.id.container, fragment); + fragmentTransaction.commit(); } /** * Calls fragment for list view. */ public void setListFragment() { - FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); - NearbyListFragment fragment = new NearbyListFragment(); + FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); + Fragment fragment = new NearbyListFragment(); fragment.setArguments(bundle); - ft.add(R.id.container, fragment); - ft.commit(); + fragmentTransaction.replace(R.id.container, fragment); + fragmentTransaction.commit(); } - } diff --git a/app/src/main/java/fr/free/nrw/commons/theme/BaseActivity.java b/app/src/main/java/fr/free/nrw/commons/theme/BaseActivity.java index f52ea84dd..b0be190a4 100644 --- a/app/src/main/java/fr/free/nrw/commons/theme/BaseActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/theme/BaseActivity.java @@ -6,16 +6,17 @@ import android.preference.PreferenceManager; import android.support.v7.app.AppCompatActivity; import fr.free.nrw.commons.R; +import fr.free.nrw.commons.Utils; public class BaseActivity extends AppCompatActivity { boolean currentTheme; @Override protected void onCreate(Bundle savedInstanceState) { - if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean("theme",true)) { + if(Utils.isDarkTheme(this)){ currentTheme = true; setTheme(R.style.DarkAppTheme); - }else { + } else { currentTheme = false; setTheme(R.style.LightAppTheme); // default } diff --git a/app/src/main/res/drawable-hdpi/ic_list_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_list_white_24dp.png new file mode 100644 index 000000000..f8f7e7dda Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_list_white_24dp.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_map_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_map_black_24dp.png deleted file mode 100644 index c81d0e068..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_map_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_list_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_list_white_24dp.png new file mode 100644 index 000000000..15d8fc2bb Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_list_white_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_map_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_map_black_24dp.png deleted file mode 100644 index bcc500e96..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_map_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_list_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_list_white_24dp.png new file mode 100644 index 000000000..2b7253975 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_list_white_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_map_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_map_black_24dp.png deleted file mode 100644 index a3ecc7190..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_map_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_list_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_list_white_24dp.png new file mode 100644 index 000000000..4d2807e4e Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_list_white_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_map_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_map_black_24dp.png deleted file mode 100644 index 827c9fc9f..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_map_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_list_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_list_white_24dp.png new file mode 100644 index 000000000..2a6d3b044 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_list_white_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_map_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_map_black_24dp.png deleted file mode 100644 index da75c65bb..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_map_black_24dp.png and /dev/null differ