diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java
index 8766c6613..7a006a1fc 100644
--- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java
+++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java
@@ -42,6 +42,7 @@ import fr.free.nrw.commons.R;
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment;
import fr.free.nrw.commons.media.MediaDetailPagerFragment;
import fr.free.nrw.commons.mwapi.MediaWikiApi;
+import fr.free.nrw.commons.nearby.NearbyNoificationCardView;
import fr.free.nrw.commons.nearby.NearbyPlaces;
import fr.free.nrw.commons.notification.Notification;
import fr.free.nrw.commons.notification.NotificationController;
@@ -88,6 +89,9 @@ public class ContributionsFragment
public static final String CONTRIBUTION_LIST_FRAGMENT_TAG = "ContributionListFragmentTag";
public static final String MEDIA_DETAIL_PAGER_FRAGMENT_TAG = "MediaDetailFragmentTag";
+ public NearbyNoificationCardView nearbyNoificationCardView;
+
+
/**
* Since we will need to use parent activity on onAuthCookieAcquired, we have to wait
* fragment to be attached. Latch will be responsible for this sync.
@@ -111,7 +115,7 @@ public class ContributionsFragment
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_contributions, container, false);
-
+
if (savedInstanceState != null) {
mediaDetailPagerFragment = (MediaDetailPagerFragment)getChildFragmentManager().findFragmentByTag(MEDIA_DETAIL_PAGER_FRAGMENT_TAG);
contributionsListFragment = (ContributionsListFragment) getChildFragmentManager().findFragmentByTag(CONTRIBUTION_LIST_FRAGMENT_TAG);
diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyNoificationCardView.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyNoificationCardView.java
new file mode 100644
index 000000000..9843a747a
--- /dev/null
+++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyNoificationCardView.java
@@ -0,0 +1,54 @@
+package fr.free.nrw.commons.nearby;
+
+import android.content.Context;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.v7.widget.CardView;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.animation.AnimationUtils;
+import android.widget.ImageView;
+import android.widget.TextSwitcher;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import fr.free.nrw.commons.R;
+import fr.free.nrw.commons.notification.Notification;
+
+/**
+ * Custom card view for nearby notification card view on main screen, above contributions list
+ */
+public class NearbyNoificationCardView extends CardView{
+
+ private Context context;
+ private TextSwitcher notificationTextSwitcher;
+ private TextSwitcher notificationTimeSwitcher;
+ private ImageView notificationIcon;
+
+ public NearbyNoificationCardView(@NonNull Context context) {
+ super(context);
+ this.context = context;
+ init();
+ }
+
+ public NearbyNoificationCardView(@NonNull Context context, @Nullable AttributeSet attrs) {
+ super(context, attrs);
+ this.context = context;
+ init();
+ }
+
+ public NearbyNoificationCardView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ this.context = context;
+ init();
+ }
+
+ private void init() {
+ View rootView = inflate(context, R.layout.nearby_card_view, this);
+ notificationTextSwitcher = rootView.findViewById(R.id.nearby_title);
+ notificationTimeSwitcher = rootView.findViewById(R.id.nearby_distance);
+
+ notificationIcon = rootView.findViewById(R.id.nearby_icon);
+ }
+}
diff --git a/app/src/main/res/drawable/ic_location_white_24dp.xml b/app/src/main/res/drawable/ic_location_white_24dp.xml
new file mode 100644
index 000000000..aea56cb5a
--- /dev/null
+++ b/app/src/main/res/drawable/ic_location_white_24dp.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/layout/nearby_card_view.xml b/app/src/main/res/layout/nearby_card_view.xml
new file mode 100644
index 000000000..f64c8a84e
--- /dev/null
+++ b/app/src/main/res/layout/nearby_card_view.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index 261ff2801..9ceb726a3 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -18,6 +18,8 @@
+
+
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 98a49fb4a..d17e0435d 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -21,6 +21,7 @@
- @color/pressed_button_dark
- @color/disabled_button_text_color_dark
- @color/enabled_button_text_color_dark
+ - @color/main_background_dark