Browse Source

Locaton section implemented.
Around section deleted.
Design complete

seavenois 10 năm trước cách đây
mục cha
commit
6eb5132867

+ 2 - 2
app/src/main/AndroidManifest.xml

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.ivalentin.gm"
-    android:versionCode="7"
-    android:versionName="1.5" >
+    android:versionCode="8"
+    android:versionName="2.0" >
 
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

+ 0 - 679
app/src/main/java/com/ivalentin/gm/AroundLayout.java

@@ -1,679 +0,0 @@
-//TODO: Rework this file
-
-package com.ivalentin.gm;
-
-import java.text.DecimalFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Date;
-import java.util.Locale;
-
-import com.google.android.gms.maps.CameraUpdate;
-import com.google.android.gms.maps.CameraUpdateFactory;
-import com.google.android.gms.maps.GoogleMap;
-import com.google.android.gms.maps.MapView;
-import com.google.android.gms.maps.MapsInitializer;
-import com.google.android.gms.maps.OnMapReadyCallback;
-import com.google.android.gms.maps.model.LatLng;
-import com.google.android.gms.maps.model.MarkerOptions;
-
-import android.annotation.SuppressLint;
-import android.app.Dialog;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.DialogInterface.OnCancelListener;
-import android.content.DialogInterface.OnShowListener;
-import android.database.Cursor;
-import android.database.sqlite.SQLiteDatabase;
-import android.graphics.drawable.Drawable;
-import android.location.Criteria;
-import android.location.Location;
-import android.location.LocationListener;
-import android.location.LocationManager;
-import android.os.Bundle;
-import android.app.Fragment;
-//import android.support.v4.content.res.ResourcesCompat;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.Window;
-import android.view.WindowManager;
-import android.view.View.OnClickListener;
-import android.view.ViewGroup;
-import android.widget.Button;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-/**
- * Layout that show event close to the user in both time and space. 
- * It implements LocationListener so it can detect changes in the user location. 
- * It implements OnMapReadyCallback so a map can be shown when an item is clicked.
- * 
- * @see Fragment
- * @see LocationListener
- * @see OnMapReadyCallback
- * 
- * @author Iñigo Valentin
- *
- */
-public class AroundLayout extends Fragment implements LocationListener, OnMapReadyCallback{
-
-	//The location of the user
-	private double[] coordinates = new double[2];
-	
-	//LocationManager to provide the location
-	private LocationManager locationManager;
-	
-	//The location provider
-	private String provider;
-	
-	//Layout where event rows will be added
-	private LinearLayout list;
-	
-	//Layout to be shown when no GPS detected
-	private LinearLayout noGps;
-	
-	//Layout to be shown when no events
-	private LinearLayout noEvents;
-	
-	//Main View
-	private View view;
-	
-	//Map stuff for the dialog
-	private MapView mapView;
-	private Bundle bund;
-	private GoogleMap map;
-	private LatLng location;
-	private String markerName = "";
-
-	/**
-	 * Remove the location listener updates when Activity is paused.
-	 * 
-	 * @see android.support.v4.app.Fragment#onPause()
-	 */
-	@Override
-	public void onPause() {
-		if (map != null)
-			map.setMyLocationEnabled(false);
-		if (mapView != null){
-			mapView.onPause();
-		}
-		super.onPause();
-		locationManager.removeUpdates(this);
-	}
-	
-	/**
-	 * Run when the fragment is inflated.
-	 * Assigns views, gets the date and does the first call to the {@link @populate function}.
-	 * 
-	 * @param inflater A LayoutInflater to manage views
-	 * @param container The container View
-	 * @param savedInstanceState Bundle containing the state
-	 * 
-	 * @return The fragment view
-	 * 
-	 * @see android.support.v4.app.Fragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)
-	 */
-	@SuppressLint("InflateParams") //Throws unknown error when done properly.
-	@Override
-	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
-		
-		//Load the layout
-		view = inflater.inflate(R.layout.fragment_layout_around, null);		
-		
-		//Set the title
-		((MainActivity) getActivity()).setSectionTitle(view.getContext().getString(R.string.menu_lablanca_around));
-		
-		//Get the location passed from MainActivity so we don't have to wait for it to be acquired.
-		Bundle bundle = this.getArguments();
-		coordinates[0] = bundle.getDouble("lat", 0);
-		coordinates[1] = bundle.getDouble("lon", 0);
-		
-		//Assign parent layout
-		list = (LinearLayout) view.findViewById(R.id.ll_around_list);
-		noGps = (LinearLayout) view.findViewById(R.id.ll_around_no_gps);
-		noEvents = (LinearLayout) view.findViewById(R.id.ll_around_no_events);
-		
-		//"Open Settings" button, shown when GPS is off.
-		Button btSettings = (Button) view.findViewById(R.id.bt_around_no_gps);
-		btSettings.setOnClickListener(new OnClickListener(){
-			@Override
-			public void onClick(View v) {
-				view.getContext().startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS));
-			}
-		});
-		
-		//"View Schedule" button, shown when no events.
-		Button btSchedule = (Button) view.findViewById(R.id.bt_around_no_events);
-		btSchedule.setOnClickListener(new OnClickListener(){
-			@Override
-			public void onClick(View v) {
-				((MainActivity) getActivity()).loadSection(GM.SECTION_LABLANCA_SCHEDULE, false);
-			}
-			
-		});
-		
-		//Set Location manager.
-		locationManager = (LocationManager) view.getContext().getSystemService(Context.LOCATION_SERVICE);
-		locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 5, this);
-		
-		//Show and hide sections depending on the GPS status.
-		if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
-			//Populate the activity list
-			list.setVisibility(View.VISIBLE);
-			noGps.setVisibility(View.GONE);
-			populateAround(list);
-		}
-		else{
-			list.setVisibility(View.GONE);
-			noGps.setVisibility(View.VISIBLE);
-		}
-						
-		//Return the fragment view
-		return view;
-	}
-	
-	/**
-	 * Populates the list of activities around. 
-	 * It uses the default layout as parent.
-	 */
-	public void populateAround(){
-		LinearLayout list = (LinearLayout) this.getView().findViewById(R.id.ll_around_list);
-		populateAround(list);
-	}
-	
-	/**
-	 * Populates the list of activities around.
-	 * 
-	 * @param list The layout where the event will be placed.
-	 */
-	@SuppressLint("InflateParams") //Views are added from a loop: I can't specify the parent when inflating.
-	private void populateAround(LinearLayout list){
-		
-		//A list of events.
-		ArrayList<Event> eventList = new ArrayList<Event>();
-		Event event;
-		
-		//A layout to be populated with an event.
-		LinearLayout entry;
-		
-		//Touchable layout of each entry
-		LinearLayout llTouch;
-		
-		//An inflater
-        LayoutInflater factory = LayoutInflater.from(view.getContext());
-        
-        //TextViews in each row
-        TextView tvRowTitle, tvRowDescription, tvRowAddress, tvRowDistance, tvRowTime, tvRowId;
-        
-        //Icon next to the location text
-        Drawable icon = getResources().getDrawable(R.drawable.pinpoint);
-        icon.setBounds(0, 0, 80, 80);
-				
-		//Read from database
-		SQLiteDatabase db = getActivity().openOrCreateDatabase(GM.DB_NAME, Context.MODE_PRIVATE, null);
-		Cursor cursor = db.rawQuery("SELECT schedule, gm, event.name, event.description, place.name, address, lat, lon, start, end, host, event.id FROM event, place WHERE schedule = 1 AND event.place = place.id;", null);
-		
-		//Make the list empty, in case we are not populating it for the first time.
-        list.removeAllViews();
-        
-        //Elements to parse, format and calculate times.
-        Calendar cal;
-		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
-		SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm", Locale.US);
-		SimpleDateFormat dayFormat = new SimpleDateFormat("yyyy-MM-dd-", Locale.US);
-		Date date = new Date();
-		Date startMinus30, endMinus15, startPlus30;
-		
-		//Decimal formatter to write text
-		DecimalFormat df = new DecimalFormat("#.#");
-		
-		//Holds the distance between the user and the event
-		double distance;
-        
-        
-        //Loop thorough every returned row, creating an event for each suitable row.
-        while (cursor.moveToNext()){
-        	
-        	//Operate with dates to see if the event close in time.       	
-        	try{
-				cal = Calendar.getInstance();
-			    cal.setTime(dateFormat.parse(cursor.getString(8)));
-			    cal.add(Calendar.MINUTE, -30);
-			    startMinus30 = cal.getTime();
-			    cal = Calendar.getInstance();
-			    cal.setTime(dateFormat.parse(cursor.getString(8)));
-			    cal.add(Calendar.MINUTE, 30);
-			    startPlus30 = cal.getTime();
-			    
-			    //Events with end date
-			    if (cursor.getString(9) != null){
-			    	cal = Calendar.getInstance();
-				    cal.setTime(dateFormat.parse(cursor.getString(9)));
-				    cal.add(Calendar.MINUTE, -15);
-				    endMinus15 = cal.getTime();
-				    
-				    //If in range
-				    if (date.after(startMinus30) && date.before(endMinus15)){
-				    	event = new Event(cursor.getInt(11), cursor.getString(2), cursor.getString(3), cursor.getInt(1), cursor.getInt(0), cursor.getString(4), cursor.getString(10), new double[] {cursor.getDouble(6), cursor.getDouble(7)}, cursor.getString(8), cursor.getString(9));
-			        	eventList.add(event);
-				    }
-			    }
-			    //Events without end time
-			    else{
-			    	if (date.after(startMinus30) && date.before(startPlus30)){
-			    		event = new Event(cursor.getInt(11), cursor.getString(2), cursor.getString(3), cursor.getInt(1), cursor.getInt(0), cursor.getString(4), cursor.getString(10), new double[] {cursor.getDouble(6), cursor.getDouble(7)}, cursor.getString(8), cursor.getString(9));
-			        	eventList.add(event);
-			    	}
-			    }
-				
-			}
-			catch (ParseException e){
-				Log.e("Error parsing date", e.toString());
-			}
-        }
-        
-        //Close the cursor and the database
-        cursor.close();
-        db.close();
-        
-        //Sort the event list.
-        Collections.sort(eventList);
-        
-        //Loop events in the list.
-        if (eventList.size() == 0){
-        	//If no events around
-        	list.setVisibility(View.GONE);
-        	noEvents.setVisibility(View.VISIBLE);
-        }
-        else{
-        	//If there are events being hold now or close in time.
-        	list.setVisibility(View.VISIBLE);
-        	noEvents.setVisibility(View.GONE);
-        	
-        	//Loop events
-	        for(int i = 0; i < eventList.size(); i++){
-	        	
-	        	//Create a new row
-	        	entry = (LinearLayout) factory.inflate(R.layout.row_around, null);
-	        	
-	        	//Set id
-	        	tvRowId = (TextView) entry.findViewById(R.id.tv_row_around_id);
-	        	tvRowId.setText(Integer.toString(eventList.get(i).getId()));
-	        	
-	        	//Set title
-	        	tvRowTitle = (TextView) entry.findViewById(R.id.tv_row_around_title);
-	        	tvRowTitle.setText(eventList.get(i).getName());
-	        	
-	        	//Set description
-	        	tvRowDescription = (TextView) entry.findViewById(R.id.tv_row_around_description);
-	        	tvRowDescription.setText(eventList.get(i).getDescription());
-	        	
-	        	//Set address
-	        	tvRowAddress = (TextView) entry.findViewById(R.id.tv_row_around_address);
-	        	tvRowAddress.setText(eventList.get(i).getPlace());
-	        	
-	        	//Set distance
-	        	tvRowDistance = (TextView) entry.findViewById(R.id.tv_row_around_distance);
-	        	distance = eventList.get(i).getDistance(coordinates);
-	        	if (distance < 1000){
-	        		tvRowDistance.setText(String.format(getResources().getString(R.string.around_distance_short), Math.round(distance), Math.round(distance * 0.012)));
-	        	}
-	        	else
-	        		tvRowDistance.setText(String.format(getResources().getString(R.string.around_distance_long), df.format(distance / 1000)));
-	        	
-	        	//Set time
-	        	tvRowTime = (TextView) entry.findViewById(R.id.tv_row_around_time);
-	        	Date tm;
-				try {
-					tm = eventList.get(i).getStart();
-					if (dayFormat.format(tm).equals(dayFormat.format(date)))
-		        		tvRowTime.setText(view.getContext().getString(R.string.today) + " " + timeFormat.format(tm));
-		        	else
-		        		tvRowTime.setText(view.getContext().getString(R.string.tomorrow) + " " + timeFormat.format(tm));
-				}
-				catch (Exception e) {
-					Log.e("Around event date error", e.toString());
-				}
-	        	
-				//Set touch event that will show a dialog.
-				llTouch = (LinearLayout) entry.findViewById(R.id.ll_row_around_content);
-				llTouch.setOnClickListener(new OnClickListener(){
-					@Override
-					public void onClick(View v) {
-		            	TextView tvId = (TextView) v.findViewById(R.id.tv_row_around_id);
-		            	int id = Integer.parseInt(tvId.getText().toString());
-		            	Log.e("TOUCH", "#" +id);
-						showDialog(id);
-					}
-	        	});
-				
-	        	//Add the entry to the list.
-	        	list.addView(entry);
-			}
-        }
-	}
-	
-	/**
-	 * Shows a dialog with info about an event.
-	 * 
-	 * @param id The id of the event
-	 */
-	private void showDialog(int id){
-		
-		//Create the dialog
-		final Dialog dialog = new Dialog(getActivity());
-		
-		//Set window
-		dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
-		dialog.setContentView(R.layout.dialog_around);
-		
-		//Date formatters
-		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
-		SimpleDateFormat dayFormat = new SimpleDateFormat("yyyy-MM-dd-", Locale.US);
-		SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm", Locale.US);
- 
-		//Set the custom dialog components - text, image and button
-		TextView tvTitle = (TextView) dialog.findViewById(R.id.tv_dialog_around_title);
-		TextView tvDescription = (TextView) dialog.findViewById(R.id.tv_dialog_around_description);
-		TextView tvDate = (TextView) dialog.findViewById(R.id.tv_dialog_around_date);
-		TextView tvTime = (TextView) dialog.findViewById(R.id.tv_dialog_around_time);
-		TextView tvPlace = (TextView) dialog.findViewById(R.id.tv_dialog_around_place);
-		TextView tvAddress = (TextView) dialog.findViewById(R.id.tv_dialog_around_address);
-		Button btClose = (Button) dialog.findViewById(R.id.bt_around_close);
-		
-		//Get info about the event
-		SQLiteDatabase db = getActivity().openOrCreateDatabase(GM.DB_NAME, Context.MODE_PRIVATE, null);
-		Cursor cursor = db.rawQuery("SELECT event.id, event.name, description, start, end, place.name, address, lat, lon FROM event, place WHERE place.id = event.place AND event.id = " + id + ";", null);
-		if (cursor.getCount() > 0){
-			cursor.moveToNext();
-		
-			//Set title
-			tvTitle.setText(cursor.getString(1));
-			markerName = cursor.getString(1);
-			
-			//Set description
-			tvDescription.setText(cursor.getString(2));
-			
-			//Set date
-			try{
-				Date day = dateFormat.parse(cursor.getString(3));
-				Date date = new Date();
-				
-				//If the event is today, show "Today" instead of the date.
-				if (dayFormat.format(day).equals(dayFormat.format(date))){
-					tvDate.setText(dialog.getContext().getString(R.string.today));
-				}
-				else{
-					Calendar cal = Calendar.getInstance();
-				    cal.setTime(date);
-				    cal.add(Calendar.HOUR_OF_DAY, 24);
-				    
-				    //If the event is tomorrow, show "Tomorrow" instead of the date.
-				    if (dayFormat.format(cal.getTime()).equals(dayFormat.format(date))){
-				    	tvDate.setText(dialog.getContext().getString(R.string.tomorrow));
-				    }
-					
-				    //Else, show the date
-				    else{
-				    	SimpleDateFormat printFormat = new SimpleDateFormat("dd MMMM", Locale.US);
-				    	tvDate.setText(printFormat.format(day));
-				    }
-				}
-			}
-			catch (Exception ex){
-				Log.e("Error parsing date", ex.toString());
-			}
-			
-			//Set time
-			try{
-				if (cursor.getString(4) == null)
-					tvTime.setText(timeFormat.format(dateFormat.parse(cursor.getString(3))));
-				else
-					tvTime.setText(timeFormat.format(dateFormat.parse(cursor.getString(3))) + " - " + timeFormat.format(timeFormat.parse(cursor.getString(4))));
-			}
-			catch (ParseException ex){
-				Log.e("Error parsing time", ex.toString());
-			}
-			
-			//Set place
-			tvPlace.setText(cursor.getString(5));
-			tvAddress.setText(cursor.getString(6));
-			
-			//Set up map
-			location = new LatLng(Double.parseDouble(cursor.getString(7)), Double.parseDouble(cursor.getString(8)));
-			mapView = (MapView) dialog.findViewById(R.id.mv_dialog_around_map);
-			mapView.onCreate(bund);
-			
-			//Close db connection
-			cursor.close();
-			db.close();
-			
-			//Set close button			
-        	btClose.setOnClickListener(new OnClickListener() {
-    			@Override
-    			public void onClick(View v) {
-    				dialog.dismiss();
-    			}
-    		});
-			
-        	//Actions to take when the dialog is cancelled
-			dialog.setOnCancelListener(new OnCancelListener(){
-				@Override
-				public void onCancel(DialogInterface dialog) {
-					if (map != null)
-						map.setMyLocationEnabled(false);
-					if (mapView != null){
-    					mapView.onResume();
-    					mapView.onDestroy();
-    				}					
-				}
-			});
-        	
-			//Show the dialog
-			WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
-			lp.dimAmount = 0.0f;
-			dialog.show();
-			
-			//Start the map
-			startMap();
-			mapView.onResume();
-			dialog.setOnShowListener(new OnShowListener(){
-				@Override
-				public void onShow(DialogInterface dialog) {
-					// Gets to GoogleMap from the MapView and does initialization stuff
-					startMap();		
-				}
-			});
-		}
-	}
-	
-	/**
-	 * Starts the map in the dialog.
-	 */
-	private void startMap(){
-		mapView.getMapAsync(this);
-	}
-	
-	/**
-	 * Called when the fragment is brought back into the foreground. 
-	 * Resumes the map and the location manager.
-	 * 
-	 * @see android.support.v4.app.Fragment#onResume()
-	 */
-	@Override
-	public void onResume() {
-		if (mapView != null)
-			mapView.onResume();
-		if (map != null)
-			map.setMyLocationEnabled(true);
-		Criteria criteria = new Criteria();
-	    provider = locationManager.getBestProvider(criteria, false);
-		locationManager.requestLocationUpdates(provider, 5000, 10, this);
-		super.onResume();
-	}
-
-	/**
-	 * Called when the fragment is destroyed. 
-	 * Finishes the map. 
-	 * 
-	 * @see android.support.v4.app.Fragment#onDestroy()
-	 */
-	@Override
-	public void onDestroy() {
-		super.onDestroy();
-		if (map != null)
-			map.setMyLocationEnabled(false);
-		if (mapView != null){
-			mapView.onResume();
-			mapView.onDestroy();
-		}
-	}
-	
-	
-
-	/**
-	 * Called in a situation of low memory.
-	 * Lets the map handle this situation.
-	 * 
-	 * @see android.support.v4.app.Fragment#onLowMemory()
-	 */
-	@Override
-	public void onLowMemory() {
-		super.onLowMemory();
-		if (mapView != null){
-			mapView.onResume();
-			mapView.onLowMemory();
-		}
-	}
-
-	/**
-	 * Called when the map is ready to be displayed. 
-	 * Sets the map options and a marker for the map.
-	 * 
-	 * @param googleMap The map to be shown
-	 * 
-	 * @see com.google.android.gms.maps.OnMapReadyCallback#onMapReady(com.google.android.gms.maps.GoogleMap)
-	 */
-	@Override
-	public void onMapReady(GoogleMap googleMap) {
-		this.map = googleMap;
-		map.setMyLocationEnabled(true);
-		
-		map.getUiSettings().setMyLocationButtonEnabled(false);
-		map.setMyLocationEnabled(true);
-		// Needs to call MapsInitializer before doing any CameraUpdateFactory calls
-		try {
-			MapsInitializer.initialize(this.getActivity());
-			CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(location, 14);
-			map.animateCamera(cameraUpdate);
-		} catch (Exception e) {
-			Log.e("Error initializing maps", e.toString());
-		}
-		//Set GM marker
-		MarkerOptions mo = new MarkerOptions();
-		mo.title(markerName);
-		mo.position(location);
-		map.addMarker(mo);
-		
-	}
-	
-	/**
-	 * Called when the user location changes. 
-	 * Recalculates the list of events.
-	 * 
-	 * @param location The new location
-	 * 
-	 * @see android.location.LocationListener#onLocationChanged(android.location.Location)
-	 */
-	@Override
-    public void onLocationChanged(Location location) {
-    	double lat = location.getLatitude();
-		double lng = location.getLongitude();
-		coordinates[0] = lat;
-		coordinates[1] = lng;
-		//Check GPS status
-		if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
-			//Populate the activity list
-			list.setVisibility(View.VISIBLE);
-			noGps.setVisibility(View.GONE);
-			noEvents.setVisibility(View.GONE);
-			populateAround(list);
-		}
-		else{
-			list.setVisibility(View.GONE);
-			noEvents.setVisibility(View.GONE);
-			noGps.setVisibility(View.VISIBLE);
-		}
-    }
-	
-	
-    /**
-     * Called when a location provider is disabled. 
-     * Recalculates the list of events.
-     * 
-     * @param provider The name of the provider
-     * 
-     * @see android.location.LocationListener#onProviderDisabled(java.lang.String)
-     */
-    @Override
-    public void onProviderDisabled(String provider) {
-    	//Check GPS status
-		if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
-			//Populate the activity list
-			list.setVisibility(View.VISIBLE);
-			noGps.setVisibility(View.GONE);
-			noEvents.setVisibility(View.GONE);
-			populateAround(list);
-		}
-		else{
-			list.setVisibility(View.GONE);
-			noEvents.setVisibility(View.GONE);
-			noGps.setVisibility(View.VISIBLE);
-		}
-    }
-    
-    /**
-     * Called when a location provider is enabled.
-     * Recalculates the list of events.
-     * 
-     * @param provider The name of the provider
-     * 
-     * @see android.location.LocationListener#onProviderEnabled(java.lang.String)
-     */
-    @Override
-    public void onProviderEnabled(String provider) {
-    	//Check GPS status
-		if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
-			//Populate the activity list
-			list.setVisibility(View.VISIBLE);
-			noGps.setVisibility(View.GONE);
-			noEvents.setVisibility(View.GONE);
-			populateAround(list);
-		}
-		else{
-			list.setVisibility(View.GONE);
-			noEvents.setVisibility(View.GONE);
-			noGps.setVisibility(View.VISIBLE);
-		}
-    }
-    
-    /**
-     * Called when the location provider changes it's state. 
-     * Does nothing, all useful cases are handled outside here.
-     * 
-     * @param provider The name of the provider
-     * @param status Status code of the provider
-     * @param extras Extras passed 
-     * 
-     * @see android.location.LocationListener#onStatusChanged(java.lang.String, int, android.os.Bundle)
-     */
-    @Override
-    public void onStatusChanged(String provider, int status, Bundle extras) { }
-		
-}
-

+ 0 - 10
app/src/main/java/com/ivalentin/gm/GM.java

@@ -86,11 +86,6 @@ public final class GM {
 	 */
 	static final String EXTRA_ACTION_LOCATION = "location";
 
-	/**
-	 * Value for {@see GM.EXTRA_ACTION} that opens the around section.
-	 */
-	static final String EXTRA_ACTION_AROUND = "around";
-
 	/**
 	 * Value for {@see GM.EXTRA_ACTION} that opens the blog.
 	 */
@@ -131,11 +126,6 @@ public final class GM {
 	 */
 	static final byte SECTION_LABLANCA_GM_SCHEDULE = 21;
 
-	/**
-	 * Constant for La Blanca section "Around me".
-	 */
-	static final byte SECTION_LABLANCA_AROUND = 22;
-
 	/**
 	 * Constant for section "Activities".
 	 */

+ 11 - 0
app/src/main/java/com/ivalentin/gm/HomeLayout.java

@@ -281,6 +281,7 @@ public class HomeLayout extends Fragment implements LocationListener{
 		ImageView facebook = (ImageView) view.findViewById(R.id.iv_home_section_social_facebook);
 		ImageView twitter = (ImageView) view.findViewById(R.id.iv_home_section_social_twitter);
 		ImageView googleplus = (ImageView) view.findViewById(R.id.iv_home_section_social_googleplus);
+		ImageView youtube = (ImageView) view.findViewById(R.id.iv_home_section_social_youtube);
 		ImageView instagram = (ImageView) view.findViewById(R.id.iv_home_section_social_instagram);
 
 		phone.setOnClickListener(new View.OnClickListener() {
@@ -349,6 +350,16 @@ public class HomeLayout extends Fragment implements LocationListener{
 			}
 		});
 
+		googleplus.setOnClickListener(new View.OnClickListener() {
+			@Override
+			public void onClick(View v) {
+				String url = v.getContext().getString(R.string.social_youtube_link);
+				Intent i = new Intent(Intent.ACTION_VIEW);
+				i.setData(Uri.parse(url));
+				startActivity(i);
+			}
+		});
+
 		instagram.setOnClickListener(new View.OnClickListener() {
 			@Override
 			public void onClick(View v) {

+ 6 - 0
app/src/main/java/com/ivalentin/gm/HomeSectionLocation.java

@@ -101,6 +101,12 @@ class HomeSectionLocation extends AsyncTask<Void, Void, Void> {
 			//Set up home view section
 			LinearLayout section = (LinearLayout) view.findViewById(R.id.ll_home_section_location);
 			section.setVisibility(View.VISIBLE);
+			section.setOnClickListener(new View.OnClickListener(){
+				@Override
+				public void onClick(View v) {
+					((MainActivity) v.getContext()).loadSection(GM.SECTION_LOCATION, false);
+				}
+			});
 
 		}
 	}

+ 119 - 132
app/src/main/java/com/ivalentin/gm/LocationLayout.java

@@ -21,6 +21,10 @@ import android.content.Context;
 import android.content.SharedPreferences;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
+import android.location.Criteria;
+import android.location.Location;
+import android.location.LocationListener;
+import android.location.LocationManager;
 import android.os.Bundle;
 import android.app.Fragment;
 import android.util.Log;
@@ -45,16 +49,18 @@ import android.widget.TextView;
  * @see OnMapReadyCallback
  *
  */
-public class LocationLayout extends Fragment implements OnMapReadyCallback{
+public class LocationLayout extends Fragment implements OnMapReadyCallback, LocationListener {
 	
 	//The map view
 	private MapView mapView;
+
+	private LocationManager locationManager;
 	
 	//The map
 	private GoogleMap map;
 	
 	//Locations for the user and Gasteizko Margolariak
-	private LatLng location, gmLocation;
+	private LatLng gmLocation;
 	
 	//The main View
 	private View v;
@@ -73,14 +79,14 @@ public class LocationLayout extends Fragment implements OnMapReadyCallback{
 		
 		//Get the view
 		v = inflater.inflate(R.layout.fragment_layout_location, container, false);
+
+		//Set up
+		locationManager = (LocationManager) v.getContext().getSystemService(Context.LOCATION_SERVICE);
+
 		
 		//Set the title
 		((MainActivity) getActivity()).setSectionTitle(v.getContext().getString(R.string.menu_location));
 		
-		//LinearLayouts to be shown or hidden
-		LinearLayout llReport = (LinearLayout) v.findViewById(R.id.ll_fragment_location_reported);
-		LinearLayout llNoReport = (LinearLayout) v.findViewById(R.id.ll_fragment_location_no_reported);
-		
 		//Get preferences
 		SharedPreferences settings = v.getContext().getSharedPreferences(GM.PREF, Context.MODE_PRIVATE);
 		
@@ -91,140 +97,43 @@ public class LocationLayout extends Fragment implements OnMapReadyCallback{
 		SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm", Locale.US);
 		Date date = new Date();
 		
-		//Variable to indicate if there is a report
-		boolean reporting = false;
-		
-		//Button to show the GM schedule if no report
-		Button btSchedule = (Button) v.findViewById(R.id.bt_location_no_report);
-		btSchedule.setOnClickListener(new OnClickListener(){
-			@Override
-			public void onClick(View v) {
-				((MainActivity) getActivity()).loadSection(GM.SECTION_LABLANCA_GM_SCHEDULE, false);
-			}
-		});
-		
-		//Try to get last location time
-		try{
-			Date locationDate = dateFormat.parse(settings.getString(GM.PREF_GM_LOCATION, "1970-01-01 00:00:00"));
-			cal = Calendar.getInstance();
-		    cal.setTime(date);
-		    cal.add(Calendar.MINUTE, -10);
-		    
-		    //If the last location report is recent
-		    if (cal.getTime().before(locationDate))
-		    	reporting = true;
-		}
-		catch (Exception ex){
-			Log.e("Error parsing d ate", ex.toString());
-		}
-		
-		//If there is a location report
-		if (reporting){
-			llNoReport.setVisibility(View.GONE);
-			//Get location passed to the app
-			Bundle bundle = this.getArguments();
-			location = new LatLng(bundle.getDouble("lat", 0), bundle.getDouble("lon", 0));
-			
-			mapView = (MapView) v.findViewById(R.id.mapview);
-			mapView.onCreate(savedInstanceState);
-	 
-			// Gets to GoogleMap from the MapView and does initialization stuff
-			mapView.getMapAsync(this);
-	    }
-		
-		//If there is no location report, try to show the next event where Margolariak will be
-	    else{
-	    	llReport.setVisibility(View.GONE);
-	    	TextView tvLocation = (TextView) v.findViewById(R.id.tv_location_schedule);
-	    	
-	    	//Initialize the database
-	    	SQLiteDatabase db = getActivity().openOrCreateDatabase(GM.DB_NAME, Context.MODE_PRIVATE, null);;
-			Cursor cursor = db.rawQuery("SELECT schedule, gm, event.name, event.description, place.name, address, lat, lon, start, end, host FROM event, place WHERE gm = 1 AND event.place = place.id ORDER BY start;", null);
-			Date startMinus24, startPlus30, start, end;
-			boolean found = false;
-			
-			//Loop db entries until we find the next event
-			while (cursor.moveToNext() && found == false){
-				try{
-					
-					//Set limit dates to see if the event is suitable
-					start = dateFormat.parse(cursor.getString(8));
-					cal = Calendar.getInstance();
-				    cal.setTime(dateFormat.parse(cursor.getString(8)));
-				    cal.add(Calendar.HOUR_OF_DAY, -24);
-				    startMinus24 = cal.getTime();
-				    cal = Calendar.getInstance();
-				    cal.setTime(dateFormat.parse(cursor.getString(8)));
-				    cal.add(Calendar.MINUTE, 30);
-				    startPlus30 = cal.getTime();
-				    
-				    //If end set and now between start and end
-				    if (found == false && cursor.getString(9) != null){
-				    	end = dateFormat.parse(cursor.getString(9));
-				    	if (date.after(start) && date.before(end)){
-				    		found = true;
-				    		//Set text
-				    		tvLocation.setText(String.format(v.getContext().getString(R.string.location_now), cursor.getString(4)));
-				    	}
-				    }
-				    
-				    //If end not set and now between start and start + 30 min
-				    if (found == false && cursor.getString(9) == null){
-				    	if (date.after(start) && date.before(startPlus30)){
-				    		found = true;
-				    		//Set text
-				    		tvLocation.setText(String.format(v.getContext().getString(R.string.location_now), cursor.getString(4)));
-				    	}
-				    }
-				    
-				    //If now between start -24h and start
-				    if (found == false && date.after(startMinus24) && date.before(start)){
-				    	found = true;
-				    	//Get date start
-				    	Date dateS = dateFormat.parse((cursor.getString(8)));
-				    	//Switch between today, tomorrow
-				    	if (dayFormat.format(start).equals(dayFormat.format(date)))
-				    		tvLocation.setText(String.format(v.getContext().getString(R.string.location_today), timeFormat.format(dateS), cursor.getString(4)));
-				    	else
-				    		tvLocation.setText(String.format(v.getContext().getString(R.string.location_tomorrow), timeFormat.format(dateS), cursor.getString(4)));
-				    }
-					
-				}
-				catch (Exception e){
-					Log.e("Error parsing date", e.toString());
-				}
-				
-				//If no events found, hide text.
-				if (found == false){
-					tvLocation.setVisibility(View.GONE);
-				}
-				else{
-					tvLocation.setVisibility(View.VISIBLE);
-				}
-			}
-			
-			//Close the cursor
-			cursor.close();
-	    	
-	    }
-		
+
+		mapView = (MapView) v.findViewById(R.id.mapview);
+		mapView.onCreate(savedInstanceState);
+
+		// Gets to GoogleMap from the MapView and does initialization stuff
+		mapView.getMapAsync(this);
+
 		//Return the view
 		return v;
 	}
 
 	/**
 	 * Called when the fragment is bought back to the foreground. 
-	 * Ensures that the map is displayed then.
+	 * Ensures that the map is displayed then, and activates the location manager.
 	 * 
-	 * @see android.support.v4.app.Fragment#onResume()
+	 * @see android.app.Fragment#onResume()
 	 */
 	@Override
 	public void onResume() {
-		if (mapView != null)
+		if (mapView != null) {
 			mapView.onResume();
+		}
+		locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, GM.LOCATION_ACCURACY_TIME, GM.LOCATION_ACCURACY_SPACE, this);
 		super.onResume();
 	}
 
+	/**
+	 * Called when the fragment is paused.
+	 * Stops the location manager
+	 * @see android.app.Fragment#onPause()
+	 */
+	@Override
+	public void onPause(){
+		locationManager.removeUpdates(this);
+		super.onPause();
+	}
+
 	/**
 	 * Called when the fragment is destroyed. 
 	 * Ensures that the map is destroyed then.
@@ -234,6 +143,7 @@ public class LocationLayout extends Fragment implements OnMapReadyCallback{
 	@Override
 	public void onDestroy() {
 		super.onDestroy();
+		locationManager.removeUpdates(this);
 		if (mapView != null){
 			mapView.onResume();
 			mapView.onDestroy();
@@ -273,23 +183,100 @@ public class LocationLayout extends Fragment implements OnMapReadyCallback{
 		// Needs to call MapsInitializer before doing any CameraUpdateFactory calls
 		try {
 			MapsInitializer.initialize(this.getActivity());
-			CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(location, 14);
-			map.animateCamera(cameraUpdate);
+			//CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(location, 14);
+			//map.animateCamera(cameraUpdate);
 		} catch (Exception e) {
 			Log.e("Error initializing maps", e.toString());
 		}
 		
 		//Set GM marker
-		SharedPreferences settings = v.getContext().getSharedPreferences(GM.PREF, Context.MODE_PRIVATE);
-		Double lat = Double.parseDouble(settings.getString(GM.PREF_GM_LATITUDE, ""));
-		Double lon = Double.parseDouble(settings.getString(GM.PREF_GM_LONGITUDE, ""));
+		SharedPreferences preferences = v.getContext().getSharedPreferences(GM.PREF, Context.MODE_PRIVATE);
+		Double lat = Double.longBitsToDouble(preferences.getLong(GM.PREF_GM_LATITUDE, 0));
+		Double lon = Double.longBitsToDouble(preferences.getLong(GM.PREF_GM_LONGITUDE, 0));
 		gmLocation = new LatLng(lat, lon);
 		MarkerOptions moGm = new MarkerOptions();
 		moGm.title(v.getContext().getString(R.string.app_name));
 		moGm.position(gmLocation);
 		moGm.icon(BitmapDescriptorFactory.fromResource(R.drawable.pinpoint_gm));
 		map.addMarker(moGm);
-		
+		map.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, lon), 14.0f));
+
+		//Start device location requests
+		locationManager.requestLocationUpdates(locationManager.getBestProvider(new Criteria(), true), GM.LOCATION_ACCURACY_TIME, GM.LOCATION_ACCURACY_SPACE, this);
+		onLocationChanged(locationManager.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER));
+
 	}
 
+	private void calCulateDistance(Location userLocation){
+		Double distance = Distance.calculateDistance(userLocation.getLatitude(), userLocation.getLongitude(), gmLocation.latitude, gmLocation.longitude, 'K');
+		TextView text = (TextView) v.findViewById(R.id.tv_location_distance);
+		if (distance <= 2) {
+			distance = 1000 * distance;
+			text.setText(String.format(getString(R.string.home_section_location_text_short), distance.intValue(), (int) (0.012 * distance.intValue())));
+		}
+		else{
+			text.setText(String.format(getString(R.string.home_section_location_text_long), String.format(Locale.US, "%.02f", distance)));
+		}
+	}
+
+	/**
+	 * Called when the user location changes.
+	 * Recalculates the list of around events and calls updateLocation() to
+	 * update the distance in the location section.
+	 *
+	 * @param location The new location
+	 *
+	 * @see android.location.LocationListener#onLocationChanged(android.location.Location)
+	 */
+	@Override
+	public void onLocationChanged(Location location) {
+		Log.e("CHANGED", Boolean.toString(gmLocation == null));
+		if (gmLocation != null)
+			calCulateDistance(location);
+	}
+
+	/**
+	 * Called when the location provider changes it's state.
+	 * Recalculates the list of events in the around section.
+	 *
+	 * @param provider The name of the provider
+	 * @param status Status code of the provider
+	 * @param extras Extras passed
+	 *
+	 * @see android.location.LocationListener#onStatusChanged(java.lang.String, int, android.os.Bundle)
+	 */
+	@Override
+	public void onStatusChanged(String provider, int status, Bundle extras) {
+		//populateAround();
+	}
+
+
+	/**
+	 * Called when a location provider is enabled.
+	 * Recalculates the list of events.
+	 *
+	 * @param provider The name of the provider
+	 *
+	 * @see android.location.LocationListener#onProviderEnabled(java.lang.String)
+	 */
+	@Override
+	public void onProviderEnabled(String provider) {
+		//populateAround();
+	}
+
+	/**
+	 * Called when a location provider is disabled.
+	 * Recalculates the list of events.
+	 *
+	 * @param provider The name of the provider
+	 *
+	 * @see android.location.LocationListener#onProviderDisabled(java.lang.String)
+	 */
+	@Override
+	public void onProviderDisabled(String provider) {
+		//populateAround();
+	}
+
+
+
 }

+ 4 - 30
app/src/main/java/com/ivalentin/gm/MainActivity.java

@@ -1,3 +1,5 @@
+//TODO: implement onResume, to try and fetch location
+
 package com.ivalentin.gm;
 
 import java.io.File;
@@ -89,11 +91,6 @@ public class MainActivity extends Activity{//} implements LocationListener{
 				title = getString(R.string.menu_lablanca_gm_schedule);
 				break;
 
-			case GM.SECTION_LABLANCA_AROUND:
-				fragment = new AroundLayout();
-				title = getString(R.string.menu_lablanca_around);
-				break;
-
 			case GM.SECTION_ACTIVITIES:
 				fragment = new ActivityLayout();
 				title = getString(R.string.menu_activities);
@@ -205,10 +202,9 @@ public class MainActivity extends Activity{//} implements LocationListener{
 		menuItem[6] = (TextView) findViewById(R.id.menu_settings);
 
 		//Assign buttons for la blanca submenu
-		TextView menuLablancaItem[] = new TextView[3];
+		TextView menuLablancaItem[] = new TextView[2];
 		menuLablancaItem[0] = (TextView) findViewById(R.id.menu_lablanca_schedule);
 		menuLablancaItem[1] = (TextView) findViewById(R.id.menu_lablanca_gm_schedule);
-		menuLablancaItem[2] = (TextView) findViewById(R.id.menu_lablanca_around);
 
 		//Set click listers for menu items
 		menuItem[0].setOnClickListener(new OnClickListener() {
@@ -258,15 +254,8 @@ public class MainActivity extends Activity{//} implements LocationListener{
 				}
 			});
 
-			menuLablancaItem[2].setOnClickListener(new OnClickListener() {
-				@Override
-				public void onClick(View v) {
-					loadSection(GM.SECTION_LABLANCA_AROUND, true);
-				}
-			});
-
 			//Show the entries
-			for (int i = 0; i < 3; i ++){
+			for (int i = 0; i < 2; i ++){
 				menuLablancaItem[i].setVisibility(View.VISIBLE);
 			}
 		}
@@ -448,21 +437,6 @@ public class MainActivity extends Activity{//} implements LocationListener{
 								}
 								break;
 
-							case GM.EXTRA_ACTION_AROUND:
-								if (festivals == 1) {
-									//Set up the action button
-									btDialogAction.setVisibility(View.VISIBLE);
-									btDialogAction.setText(this.getApplicationContext().getString(R.string.notification_action_around));
-									btDialogAction.setOnClickListener(new OnClickListener() {
-										@Override
-										public void onClick(View v) {
-											dialog.dismiss();
-											loadSection(GM.SECTION_LABLANCA_AROUND, false);
-										}
-									});
-								}
-								break;
-
 							//If the notification is just text
 							default:
 								//Hide action button

+ 26 - 24
app/src/main/java/com/ivalentin/gm/Sync.java

@@ -162,7 +162,7 @@ public class Sync extends AsyncTask<Void, Void, Void> {
 	 */
 	protected void onProgressUpdate(Void...progress) {
 		if (doProgress){
-			if (millis + 500 < System.currentTimeMillis()) {
+			if (millis + 300 < System.currentTimeMillis()) {
 				millis = System.currentTimeMillis();
 				int idx = (int) (Math.random() * ((4) + 1));
 				tv.setText(strings[idx]);
@@ -264,31 +264,33 @@ public class Sync extends AsyncTask<Void, Void, Void> {
 								queryValues = "(";
 								while (row.contains(">,")) {
 
-										try {
-											if (row.length() < 5) {
-												break;
-											}
-											line = row.substring(0, row.indexOf(">,"));
-											line = line.substring(line.indexOf("<"));
-											fieldName = line.substring(line.indexOf("<") + 1, line.indexOf(">"));
-											queryFields = queryFields + fieldName + ", ";
-											fieldValue = line.substring(line.indexOf("<" + fieldName + ">") + 2 + fieldName.length());
-											fieldValue = fieldValue.substring(0, fieldValue.length() - fieldName.length() - 2);
-											if (fieldValue.length() == 0)
-												fieldValue = "null";
-											if (fieldValue.charAt(0) == '\'' && fieldValue.charAt(fieldValue.length() - 1) == '\'') {
-												fieldValue = fieldValue.substring(1, fieldValue.length() - 1);
-												fieldValue = fieldValue.replace("'", "''");
-												fieldValue = "\'" + fieldValue + "\'";
-											}
-											queryValues = queryValues + fieldValue + ", ";
-											row = row.substring(row.indexOf(">,") + 2);
-										}
-										catch(Exception ex){
-											Log.e("Parsing error", "Error getting values from row: " + ex.toString());
-											errorCount ++;
+									publishProgress();
+
+									try {
+										if (row.length() < 5) {
 											break;
 										}
+										line = row.substring(0, row.indexOf(">,"));
+										line = line.substring(line.indexOf("<"));
+										fieldName = line.substring(line.indexOf("<") + 1, line.indexOf(">"));
+										queryFields = queryFields + fieldName + ", ";
+										fieldValue = line.substring(line.indexOf("<" + fieldName + ">") + 2 + fieldName.length());
+										fieldValue = fieldValue.substring(0, fieldValue.length() - fieldName.length() - 2);
+										if (fieldValue.length() == 0)
+											fieldValue = "null";
+										if (fieldValue.charAt(0) == '\'' && fieldValue.charAt(fieldValue.length() - 1) == '\'') {
+											fieldValue = fieldValue.substring(1, fieldValue.length() - 1);
+											fieldValue = fieldValue.replace("'", "''");
+											fieldValue = "\'" + fieldValue + "\'";
+										}
+										queryValues = queryValues + fieldValue + ", ";
+										row = row.substring(row.indexOf(">,") + 2);
+									}
+									catch(Exception ex){
+										Log.e("Parsing error", "Error getting values from row: " + ex.toString());
+										errorCount ++;
+										break;
+									}
 								}
 
 								queryFields = queryFields.substring(0, queryFields.length() - 2) + ")";

BIN
app/src/main/res/drawable/alpha.png


BIN
app/src/main/res/drawable/menu.png


BIN
app/src/main/res/drawable/social_web.png


+ 52 - 48
app/src/main/res/layout/activity_main.xml

@@ -20,16 +20,18 @@
             android:padding="10dp">
 
             <TextView
-                android:id="@+id/menu_home"
-                android:layout_width="fill_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginBottom="10dp"
-                android:layout_marginTop="10dp"
-                android:gravity="center_vertical"
-                android:text="@string/menu_home"
-                android:textAppearance="?android:attr/textAppearanceLarge"
+				android:id="@+id/menu_home"
+				android:layout_width="fill_parent"
+				android:layout_height="wrap_content"
+				android:layout_marginBottom="10dp"
+				android:layout_marginTop="10dp"
+				android:gravity="center_vertical"
+				android:text="@string/menu_home"
+				android:textAppearance="?android:attr/textAppearanceLarge"
 				android:textStyle="bold"
-				android:textColor="@color/menu_entry" />
+				android:textColor="@color/menu_entry"
+				android:paddingTop="4dp"
+				android:paddingBottom="4dp"/>
 
 			<LinearLayout
 				android:orientation="vertical"
@@ -44,16 +46,18 @@
                     android:background="@color/background_separator"/>
 
 				<TextView
-                    android:id="@+id/menu_location"
-                    android:layout_width="fill_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_marginBottom="10dp"
-                    android:layout_marginTop="10dp"
-                    android:gravity="center_vertical"
-                    android:text="@string/menu_location"
-                    android:textAppearance="?android:attr/textAppearanceLarge"
-                    android:textStyle="bold"
-                    android:textColor="@color/menu_entry" />
+					android:id="@+id/menu_location"
+					android:layout_width="fill_parent"
+					android:layout_height="wrap_content"
+					android:layout_marginBottom="10dp"
+					android:layout_marginTop="10dp"
+					android:gravity="center_vertical"
+					android:text="@string/menu_location"
+					android:textAppearance="?android:attr/textAppearanceLarge"
+					android:textStyle="bold"
+					android:textColor="@color/menu_entry"
+					android:paddingBottom="4dp"
+					android:paddingTop="4dp"/>
 			</LinearLayout>
 
 			<View
@@ -71,7 +75,9 @@
 				android:text="@string/menu_lablanca"
 				android:textAppearance="?android:attr/textAppearanceLarge"
 				android:textStyle="bold"
-				android:textColor="@color/menu_entry" />
+				android:textColor="@color/menu_entry"
+				android:paddingTop="4dp"
+				android:paddingBottom="4dp"/>
 
             <TextView
 				android:id="@+id/menu_lablanca_schedule"
@@ -85,7 +91,9 @@
 				android:text="@string/menu_lablanca_schedule"
 				android:textAppearance="?android:attr/textAppearanceMedium"
 				android:textColor="@color/menu_entry"
-				android:visibility="gone"/>
+				android:visibility="gone"
+				android:paddingTop="2dp"
+				android:paddingBottom="2dp"/>
 
             <TextView
 				android:id="@+id/menu_lablanca_gm_schedule"
@@ -99,21 +107,9 @@
 				android:text="@string/menu_lablanca_gm_schedule"
 				android:textAppearance="?android:attr/textAppearanceMedium"
 				android:textColor="@color/menu_entry"
-				android:visibility="gone"/>
-
-            <TextView
-				android:id="@+id/menu_lablanca_around"
-				android:layout_width="fill_parent"
-				android:layout_height="wrap_content"
-				android:layout_marginBottom="10dp"
-				android:layout_marginTop="10dp"
-				android:layout_marginStart="20dp"
-				android:layout_marginLeft="20dp"
-				android:gravity="center_vertical"
-				android:text="@string/menu_lablanca_around"
-				android:textAppearance="?android:attr/textAppearanceMedium"
-				android:textColor="@color/menu_entry"
-				android:visibility="gone"/>
+				android:visibility="gone"
+				android:paddingBottom="2dp"
+				android:paddingTop="2dp"/>
 
 			<View
 				android:layout_width="fill_parent"
@@ -130,7 +126,9 @@
 				android:text="@string/menu_activities"
 				android:textAppearance="?android:attr/textAppearanceLarge"
 				android:textStyle="bold"
-				android:textColor="@color/menu_entry" />
+				android:textColor="@color/menu_entry"
+				android:paddingTop="4dp"
+				android:paddingBottom="4dp"/>
 
 			<View
 				android:layout_width="fill_parent"
@@ -147,7 +145,9 @@
 				android:text="@string/menu_blog"
 				android:textAppearance="?android:attr/textAppearanceLarge"
 				android:textStyle="bold"
-				android:textColor="@color/menu_entry" />
+				android:textColor="@color/menu_entry"
+				android:paddingBottom="4dp"
+				android:paddingTop="4dp"/>
 
 			<View
 				android:layout_width="fill_parent"
@@ -164,7 +164,9 @@
 				android:text="@string/menu_gallery"
 				android:textAppearance="?android:attr/textAppearanceLarge"
 				android:textStyle="bold"
-				android:textColor="@color/menu_entry" />
+				android:textColor="@color/menu_entry"
+				android:paddingTop="4dp"
+				android:paddingBottom="4dp"/>
 
 			<View
 				android:layout_width="fill_parent"
@@ -172,16 +174,18 @@
 				android:background="@color/background_separator"/>
 
             <TextView
-                android:id="@+id/menu_settings"
-                android:layout_width="fill_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginBottom="10dp"
-                android:layout_marginTop="10dp"
-                android:gravity="center_vertical"
-                android:text="@string/menu_settings"
-                android:textAppearance="?android:attr/textAppearanceLarge"
+				android:id="@+id/menu_settings"
+				android:layout_width="fill_parent"
+				android:layout_height="wrap_content"
+				android:layout_marginBottom="10dp"
+				android:layout_marginTop="10dp"
+				android:gravity="center_vertical"
+				android:text="@string/menu_settings"
+				android:textAppearance="?android:attr/textAppearanceLarge"
 				android:textStyle="bold"
-				android:textColor="@color/menu_entry" />
+				android:textColor="@color/menu_entry"
+				android:paddingBottom="4dp"
+				android:paddingTop="4dp"/>
 
         </LinearLayout>
 

+ 0 - 130
app/src/main/res/layout/dialog_around.xml

@@ -1,130 +0,0 @@
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent"
-    android:orientation="vertical" >
-
-    <LinearLayout
-        android:id="@+id/ll_dialog_schedule_buttons"
-        android:layout_width="fill_parent"
-        android:layout_height="wrap_content"
-        android:layout_alignParentBottom="true"
-        android:orientation="horizontal" >
-
-        <Button
-            android:id="@+id/bt_around_close"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_marginBottom="5dp"
-            android:layout_marginEnd="25dp"
-            android:layout_marginLeft="25dp"
-            android:layout_marginRight="25dp"
-            android:layout_marginStart="25dp"
-            android:layout_marginTop="5dp"
-            android:layout_weight=".5"
-            android:background="@drawable/button_selector"
-            android:minHeight="40dp"
-            android:text="@string/schedule_close" />
-
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_above="@id/ll_dialog_schedule_buttons"
-        android:layout_alignParentTop="true"
-        android:orientation="vertical"
-        android:padding="10dp" >
-
-        <TextView
-            android:id="@+id/tv_dialog_around_title"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_margin="5dp"
-            android:textSize="25sp"
-            android:textStyle="bold" />
-        
-        <TextView
-            android:layout_width="fill_parent"
-            android:layout_height="1dp"
-            android:layout_margin="5dp"/>
-
-        <TextView
-            android:id="@+id/tv_dialog_around_description"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_margin="10dp"
-            android:layout_marginBottom="10dp"
-            android:textSize="14sp" />
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content" >
-
-            <TextView
-                android:id="@+id/tv_dialog_around_date"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:textSize="14sp" />
-
-            <TextView
-                android:id="@+id/tv_dialog_around_time"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="10dp"
-                android:layout_marginStart="10dp"
-                android:textSize="14sp" />
-
-        </LinearLayout>
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_margin="10dp"
-            android:orientation="horizontal" >
-
-            <ImageView
-                android:id="@+id/imageView1"
-                android:layout_width="wrap_content"
-                android:layout_height="fill_parent"
-                android:adjustViewBounds="true"
-                android:contentDescription="@string/arrow_right"
-                android:maxHeight="50dp"
-                android:maxWidth="50dp"
-                android:scaleType="centerInside"
-                android:src="@drawable/pinpoint" />
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="vertical" >
-
-                <TextView
-                    android:id="@+id/tv_dialog_around_place"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:textSize="14sp" />
-
-                <TextView
-                    android:id="@+id/tv_dialog_around_address"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:textSize="12sp" />
-
-            </LinearLayout>
-        </LinearLayout>
-
-        <LinearLayout
-            android:layout_width="fill_parent"
-            android:layout_height="fill_parent"
-            android:layout_margin="20dp"
-            android:padding="3dp" >
-
-            <com.google.android.gms.maps.MapView
-                android:id="@+id/mv_dialog_around_map"
-                android:layout_width="fill_parent"
-                android:layout_height="fill_parent" >
-            </com.google.android.gms.maps.MapView>
-        </LinearLayout>
-    </LinearLayout>
-
-</RelativeLayout>

+ 0 - 118
app/src/main/res/layout/fragment_layout_around.xml

@@ -1,118 +0,0 @@
-<com.ivalentin.gm.CustomScrollView
-	xmlns:android="http://schemas.android.com/apk/res/android"
-	android:layout_width="fill_parent"
-	android:layout_height="fill_parent"
-	android:orientation="vertical"
-	android:background="@color/background_app"
-	android:padding="7dp">
-
-    <LinearLayout
-		android:layout_width="match_parent"
-		android:layout_height="wrap_content"
-		android:orientation="vertical"
-		>
-    
-	    <LinearLayout
-			android:layout_width="match_parent"
-			android:layout_height="match_parent"
-			android:orientation="vertical"
-			android:background="@drawable/section">
-
-			<TextView
-				android:layout_width="wrap_content"
-				android:layout_height="wrap_content"
-				android:textAppearance="?android:attr/textAppearanceLarge"
-				android:text="@string/around_header"
-				android:id="@+id/textView6"/>
-
-			<LinearLayout
-				android:orientation="vertical"
-				android:layout_width="match_parent"
-				android:layout_height="match_parent"
-				android:id="@+id/ll_around_list">
-			</LinearLayout>
-		</LinearLayout>
-
-	    <LinearLayout
-			android:id="@+id/ll_around_no_events"
-			android:layout_width="fill_parent"
-			android:layout_height="match_parent"
-			android:orientation="vertical"
-			android:padding="7dp"
-			android:visibility="gone"
-			android:background="@drawable/section">
-
-	        <TextView
-	            android:layout_width="wrap_content"
-	            android:layout_height="wrap_content"
-				android:gravity="center_horizontal"
-	            android:text="@string/around_no_events_0"
-	            android:textAppearance="?android:attr/textAppearanceLarge" />
-
-	        <TextView
-				android:layout_width="fill_parent"
-				android:layout_height="wrap_content"
-				android:layout_gravity="center_horizontal"
-				android:layout_marginTop="15dp"
-				android:text="@string/around_no_events_1"
-				android:background="@drawable/entry"
-				android:padding="7dp"/>
-
-	        <Button
-				android:id="@+id/bt_around_no_events"
-				android:layout_width="wrap_content"
-				android:layout_height="wrap_content"
-				android:layout_gravity="center_horizontal"
-				android:layout_marginTop="20dp"
-				android:background="@drawable/button_selector"
-				android:padding="6dp"
-				android:text="@string/around_no_events_button"
-				android:textColor="@color/input_button_color"
-				android:textStyle="bold"
-				android:layout_marginBottom="15dp"/>
-
-	    </LinearLayout>
-	    
-	    <LinearLayout
-			android:id="@+id/ll_around_no_gps"
-			android:layout_width="fill_parent"
-			android:layout_height="match_parent"
-			android:orientation="vertical"
-			android:padding="7dp"
-			android:visibility="gone"
-			android:background="@drawable/section">
-	        
-	        <TextView
-	            android:layout_width="wrap_content"
-	            android:layout_height="wrap_content"
-				android:text="@string/around_no_gps"
-	            android:textAppearance="?android:attr/textAppearanceLarge" />
-
-			<TextView
-				android:layout_width="fill_parent"
-				android:layout_height="wrap_content"
-				android:layout_gravity="center_horizontal"
-				android:layout_marginTop="15dp"
-				android:text="@string/around_no_gps_text"
-				android:background="@drawable/entry"
-				android:padding="7dp"
-				android:id="@+id/textView8"/>
-
-			<Button
-				android:id="@+id/bt_around_no_gps"
-				android:layout_width="wrap_content"
-				android:layout_height="wrap_content"
-				android:layout_gravity="center_horizontal"
-				android:layout_marginTop="20dp"
-				android:background="@drawable/button_selector"
-				android:padding="6dp"
-				android:text="@string/around_no_gps_button"
-				android:textStyle="bold"
-				android:textColor="@color/input_button_color"
-				android:layout_marginBottom="15dp"/>
-	
-	    </LinearLayout>
-	    
-	</LinearLayout>
-
-</com.ivalentin.gm.CustomScrollView>

+ 2 - 1
app/src/main/res/layout/fragment_layout_gallery.xml

@@ -18,7 +18,8 @@
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:background="@drawable/section"
-            android:padding="7dp">
+            android:padding="7dp"
+            android:visibility="gone">
 
             <TextView
                 android:layout_width="wrap_content"

+ 3 - 3
app/src/main/res/layout/fragment_layout_home.xml

@@ -529,7 +529,7 @@
 						android:layout_height="wrap_content"
 						android:layout_margin="10dp"
 						android:adjustViewBounds="true"
-						android:contentDescription="@string/social_mail"
+						android:contentDescription="@string/social_phone"
 						android:maxWidth="50dp"
 						android:src="@drawable/social_phone"/>
 
@@ -539,7 +539,7 @@
 						android:layout_height="wrap_content"
 						android:layout_margin="10dp"
 						android:adjustViewBounds="true"
-						android:contentDescription="@string/social_web"
+						android:contentDescription="@string/social_mail"
 						android:maxWidth="50dp"
 						android:src="@drawable/social_mail" />
 
@@ -549,7 +549,7 @@
 						android:layout_height="wrap_content"
 						android:layout_margin="10dp"
 						android:adjustViewBounds="true"
-						android:contentDescription="@string/social_web"
+						android:contentDescription="@string/social_whatsapp"
 						android:maxWidth="50dp"
 						android:src="@drawable/social_whatsapp" />
 

+ 47 - 53
app/src/main/res/layout/fragment_layout_location.xml

@@ -1,61 +1,55 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/ll_fragment_location"
-    android:layout_width="fill_parent"
-    android:orientation="vertical"
-    android:layout_height="fill_parent" >
-
-    <LinearLayout
-        android:id="@+id/ll_fragment_location_reported"
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent"
-        android:layout_margin="25dp"
-        android:padding="3dp" >
-	    
-		<com.google.android.gms.maps.MapView
-		    android:id="@+id/mapview"
-		    android:layout_width="fill_parent"
-		    android:layout_height="fill_parent"
-		    android:minHeight="150dp" />
-		
-	</LinearLayout>
-	
+			  android:layout_width="fill_parent"
+			  android:orientation="vertical"
+			  android:layout_height="fill_parent"
+			  android:background="@color/background_app">
+
 	<LinearLayout
-	    android:id="@+id/ll_fragment_location_no_reported"
-	    android:layout_width="fill_parent"
-	    android:layout_height="fill_parent"
-	    android:orientation="vertical"
-	    android:padding="15dp" >
+		android:orientation="vertical"
+		android:layout_width="match_parent"
+		android:layout_height="match_parent"
+		android:background="@drawable/section"
+		android:layout_margin="7dp"
+		android:padding="7dp">
 
 		<TextView
-		    android:id="@+id/textView1"
-		    android:layout_width="fill_parent"
-		    android:layout_height="wrap_content"
-		    android:gravity="center_horizontal"
-		    android:text="@string/location_not_reporting"
-		    android:textAppearance="?android:attr/textAppearanceLarge" />
+			android:layout_width="wrap_content"
+			android:layout_height="wrap_content"
+			android:textAppearance="@android:style/TextAppearance.Large"
+			android:text="@string/menu_location"
+			android:id="@+id/textView2"/>
+
+		<LinearLayout
+			android:orientation="vertical"
+			android:layout_width="match_parent"
+			android:layout_height="match_parent"
+			android:background="@drawable/entry"
+			android:padding="7dp">
+
+			<TextView
+                android:layout_width="fill_parent"
+                android:layout_height="wrap_content"
+                android:textAppearance="@android:style/TextAppearance.Medium"
+                android:text="@string/home_section_location_text_0"
+                android:id="@+id/textView3"
+				/>
+
+			<TextView
+				android:layout_width="wrap_content"
+				android:layout_height="wrap_content"
+				android:textAppearance="?android:attr/textAppearanceSmall"
+				android:id="@+id/tv_location_distance"
+				android:layout_margin="10dp"/>
+
+			<com.google.android.gms.maps.MapView
+				android:id="@+id/mapview"
+				android:layout_width="fill_parent"
+				android:layout_height="fill_parent"
+				android:minHeight="150dp"
+				android:layout_margin="7dp"/>
+		</LinearLayout>
 
-		<TextView
-		    android:id="@+id/tv_location_schedule"
-		    android:layout_width="fill_parent"
-		    android:layout_height="wrap_content"
-		    android:layout_marginTop="30dp"
-		    android:gravity="center_horizontal"
-		    android:text="@string/location_now" />
-
-		<Button
-		    android:id="@+id/bt_location_no_report"
-		    android:layout_width="wrap_content"
-		    android:layout_height="wrap_content"
-		    android:layout_gravity="center_horizontal"
-		    android:layout_marginTop="30dp"
-		    android:background="@drawable/button_selector"
-		    android:paddingLeft="10dp"
-		    android:paddingRight="10dp"
-		    android:paddingStart="10dp"
-		    android:paddingEnd="10dp"
-		    android:text="@string/location_button" />
-		
 	</LinearLayout>
-	
+
 </LinearLayout>

+ 0 - 64
app/src/main/res/layout/row_around.xml

@@ -1,64 +0,0 @@
-<LinearLayout
-	xmlns:android="http://schemas.android.com/apk/res/android"
-	android:layout_width="fill_parent"
-	android:layout_height="wrap_content"
-	android:padding="5dp" >
-
-	<ImageView
-		android:id="@+id/imageView1"
-		android:layout_width="wrap_content"
-		android:layout_height="fill_parent"
-		android:adjustViewBounds="true"
-		android:contentDescription="@string/accesibility_event"
-		android:maxHeight="50dp"
-		android:maxWidth="50dp"
-		android:scaleType="centerInside"
-		android:src="@drawable/pinpoint" />
-
-	<LinearLayout
-		android:id="@+id/ll_row_around_content"
-		android:layout_width="wrap_content"
-		android:layout_height="wrap_content"
-		android:orientation="vertical" >
-
-		<TextView
-			android:id="@+id/tv_row_around_id"
-			android:layout_width="wrap_content"
-			android:layout_height="wrap_content"
-			android:visibility="gone" />
-
-		<TextView
-			android:id="@+id/tv_row_around_title"
-			android:layout_width="wrap_content"
-			android:layout_height="wrap_content"
-			android:textAppearance="?android:attr/textAppearanceLarge" />
-
-		<TextView
-			android:id="@+id/tv_row_around_description"
-			android:layout_width="wrap_content"
-			android:layout_height="wrap_content"
-			android:layout_marginTop="5dp"
-			android:ellipsize="end"
-			android:maxLines="2" />
-
-		<TextView
-			android:id="@+id/tv_row_around_time"
-			android:layout_width="wrap_content"
-			android:layout_height="wrap_content"
-			android:layout_marginTop="5dp" />
-
-		<TextView
-			android:id="@+id/tv_row_around_address"
-			android:layout_width="wrap_content"
-			android:layout_height="wrap_content"
-			android:layout_marginTop="5dp" />
-
-		<TextView
-			android:id="@+id/tv_row_around_distance"
-			android:layout_width="wrap_content"
-			android:layout_height="wrap_content"
-			android:layout_marginTop="5dp" />
-
-	</LinearLayout>
-
-</LinearLayout>

+ 0 - 80
app/src/main/res/layout/row_home_around.xml

@@ -1,80 +0,0 @@
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:padding="10dp" >
-
-    <TextView
-        android:id="@+id/tv_row_home_around_id"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:visibility="gone" />
-    
-    <TextView
-        android:id="@+id/tv_row_home_around_title"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:textSize="20sp"
-        android:textStyle="bold" />
-
-    <TextView
-        android:id="@+id/tv_row_home_around_description"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginEnd="10dp"
-        android:layout_marginLeft="10dp"
-        android:layout_marginRight="10dp"
-        android:layout_marginStart="10dp"
-        android:ellipsize="end"
-        android:maxLines="2" />
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="20dp"
-        android:layout_marginEnd="10dp"
-        android:layout_marginLeft="10dp"
-        android:layout_marginRight="10dp"
-        android:layout_marginStart="10dp"
-        android:layout_marginTop="10dp" >
-
-        <ImageView
-            android:id="@+id/imageView1"
-            android:layout_width="wrap_content"
-            android:layout_height="fill_parent"
-            android:adjustViewBounds="true"
-            android:contentDescription="@string/accesibility_event"
-            android:maxHeight="30dp"
-            android:maxWidth="30dp"
-            android:scaleType="centerInside"
-            android:src="@drawable/pinpoint" />
-
-        <LinearLayout
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="vertical" >
-
-            <TextView
-                android:id="@+id/tv_row_home_around_address"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="6dp" />
-
-            <TextView
-                android:id="@+id/tv_row_home_around_distance"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="6dp" />
-
-            <TextView
-                android:id="@+id/tv_row_home_around_time"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="6dp" />
-
-        </LinearLayout>
-
-    </LinearLayout>
-
-</LinearLayout>

+ 24 - 88
app/src/main/res/values-es/strings.xml

@@ -4,8 +4,7 @@
 
 	<!-- App related strings -->
 
-	<string name="app_email">gasteizkomargolariak@gmail.com</string>
-	
+\
 
 	<!-- Arrow buttons -->
 
@@ -16,12 +15,10 @@
 	<string name="menu_lablanca">La Blanca</string>
 	<string name="menu_lablanca_schedule">Programa de fiestas</string>
 	<string name="menu_lablanca_gm_schedule">Programa Margolari</string>
-	<string name="menu_lablanca_around">Cerca de mi</string>
 	<string name="menu_activities">Actividades</string>
 	<string name="menu_blog">Blog</string>
 	<string name="menu_gallery">Galería</string>
-	<string name="menu_about">Nosotros</string>
-	<string name="menu_settings">Preferencias</string>
+\	<string name="menu_settings">Preferencias</string>
 
 	<!-- Schedule strings -->
 
@@ -30,53 +27,17 @@
 	<string name="schedule_host">Organiza %1$s</string>
 
 
-	<!-- Month names -->
-
-	<string name="month_07">Julio</string>
-	<string name="month_08">Agosto</string>
-
-
 	<!-- Day strings -->
 	<string name="today">Hoy</string>
 	<string name="tomorrow">Mañana</string>
 
 
-	<!-- "Titles" for days -->
-
-
-	<!-- About section strings -->
-
-	<string name="about_license">Este programa es software libre. Usted puede distribuirlo y modificarlo de acuerdo con los términos de la GNU General Public License versión 3 publicada por la Free Software Foundation.\n\nEste programa se distrubuye con la espereanza de que sea útil, pero SIN NINGUNA GARANTIA. Consulte la GNU General Public License para más informacion en http://www.gnu.org/licenses/.\n\nEl nombre "Gasteizko Margolariak" y su logotipo son propiedad de Gasteizko Margolariak.</string>
-	<string name="about_code">&lt;div style="background-color:#bbbbbb;padding:6px;border-radius:5px;border-style:solid;border-width:2px;border-color:#333333;text-align:center;">Puedes ver y descargar el codigo fuente de esta aplicacion en &lt;a href="https://github.com/Seavenois/GM">Github&lt;/a>&lt;/div></string>
-
-
-	<!-- Around section string -->
-	
-	<string name="around_no_events_0">No hay eventos proximamente.</string>
-	<string name="around_no_events_1">Según se acerquen las fiestas, ¡aquí irán apareceido actividades cerca de ti!</string>
-	<string name="around_no_events_button">Ver el programa de fiestas</string>
-	<string name="around_no_gps">GPS desconectado</string>
-	<string name="around_no_gps_button">Abrir ajustes</string>
-
-
 	<!-- Home section strings -->
 
-	<string name="home_section_schedule">Actividades en la ciudad</string>
-	<string name="home_section_gm">Actividades de Margolariak</string>
 	<string name="home_section_around">Cerca de mi</string>
 	<string name="home_section_location">Encuéntranos</string>
 	<string name="home_section_location_text_0">¡Gasteizko Margolariak está cerca!</string>
 	<string name="home_section_social">Síguenos</string>
-	<string name="home_section_join">Hazte Margolari</string>
-	<string name="home_section_schedule_see">Ver programa</string>
-	<string name="home_section_gm_see">Ver todas</string>
-	<string name="home_section_around_see">Ver más</string>
-	<string name="home_section_location_see">Mapa</string>
-	<string name="home_section_social_see">Síguenos</string>
-	<string name="home_section_join_see">Precios</string>
-	<string name="home_section_join_header">¡Únete a Gasteizko Margolariak por el mejor precio!</string>
-	<string name="home_section_join_text">¡Escoge días sueltos o elige nuestros packs en oferta!</string>
-	<string name="home_section_join_footer">Mira los precios y elige la opción que mejor se adapte a ti.</string>
 
 	
 	<!-- Prices dialog strings -->
@@ -84,63 +45,23 @@
 
 	<!-- Settings section strings -->
 
-	<string name="settings_section_notification">NOTIFICACIONES</string>
 	<string name="settings_notification">Notificaciones</string>
 	<string name="settings_notification_on">Recibir notificaciones</string>
 	<string name="settings_notification_off">No recibir notificaciones</string>
-	<string name="settings_notification_gm">Notificaciones de Margolariak</string>
-	<string name="settings_notification_gm_on">Recibir notificaciones de Margolariak</string>
-	<string name="settings_notification_gm_off">No recibir notificaciones de Margolariak</string>
-	<string name="settings_section_account">USUARIO</string>
-	<string name="settings_account_gm">Margolari</string>
-	<string name="settings_account_gm_on">Soy Margolari</string>
-	<string name="settings_account_gm_off">No soy Margolari</string>
-	<string name="settings_account_name">Nombre</string>
-	<string name="settings_account_message_title">Nombre de usuario</string>
-	<string name="settings_account_message_text">Introduce un nombre de usuario para ayudarnos a ofrecerte actividades más interesantes.</string>
-	<string name="settings_account_message_save">Guardar</string>
-	<string name="settings_account_message_cancel">Cancelar</string>
-	<string name="settings_account_unset"> </string>
-	<string name="settings_account_name_disclaimer">No publicaremos ni compartiremos tu nombre o información asociada a él con nadie.</string>
-
-
-	<!-- Location section strings -->
-
-	<string name="location_not_reporting">Gasteizko Margolariak no está compartiendo su ubicación en estos momentos.</string>
-	<string name="location_now">Pero, según su programa, puedes encontrarles ahora en %1$s.</string>
-	<string name="location_today">Pero, según su programa, puedes encontrarles hoy a las %1$s en %2$s.</string>
-	<string name="location_tomorrow">Pero, según su programa, puedes encontrarles mañana a las %1$s en %2$s.</string>
-	<string name="location_button">Ver el programa Margolari</string>
-	
 
-	<!-- Accesibility strings -->
-	
-	<string name="accesibility_event">Evento</string>
-	<string name="accesibility_event_gm">Evento organizado Gasteizko Margolariak</string>
-	<string name="accesibility_event_schedule">Evento en la ciudad</string>
-	
 	
 	<!-- Social networks strings -->
 
-	<string name="social_web">Web</string>
 	<string name="social_whatsapp_error">Error de conexión con Whatsapp. Está instalado?</string>
 
 
-	<!-- Misc strings -->
-	
-	<string name="kilometers">kilómetros</string>
-	<string name="meters">metros</string>
-
-
 	<!-- Notification dialog strings -->
 	
 	<string name="notification_close">Cerrar</string>
-	<string name="notification_action_schedule">Ver programa de fiestas</string>
 
 	<!-- Sync dialog strings -->
 	
 	<string name="dialog_sync_title">Sincronizando</string>
-	<string name="dialog_sync_internet">La primera vez que usas esta aplicación debes disponer de una conexión a internet.</string>
 	<string name="dialog_sync_failed_title">Error de sincronización</string>
 	<string name="dialog_sync_failed_text">No se pudierdon descargar los contenidos\n\nAsegúrate de que dispones de conexión a internet e inténtalo de nuevo.</string>
 	<string name="dialog_sync_failed_close">Cerrar</string>
@@ -150,10 +71,6 @@
 	<string name="activity_past">Actividades pasadas</string>
 	<string name="activity_price">Precio:</string>
 	<string name="activity_schedule">Itinerario</string>
-	<string name="around_distance_long">A %1$s kilometros de ti</string>
-	<string name="around_distance_short">A %1$s metros de ti (%2$s minutos andando)</string>
-	<string name="around_header">Eventos cercanos</string>
-	<string name="around_no_gps_text">Conecta el GPS para ver eventos a tu alrededor.</string>
 	<string name="comment_name">Nombre…</string>
 	<string name="comment_send">Publicar</string>
 	<string name="comment_text">Comentario…</string>
@@ -165,8 +82,6 @@
 	<string name="dialog_sync_text_2">Preparando kalimotxos&#8230;</string>
 	<string name="dialog_sync_text_3">\"&#8230;tu eres el piloto&#8230;\"</string>
 	<string name="dialog_sync_text_4">Afinando la tuba&#8230;</string>
-	<string name="distance_k">kilometros</string>
-	<string name="distance_m">metros</string>
 	<string name="gallery_albums">Albums</string>
 	<string name="gallery_upload">Subir fotos</string>
 	<string name="gallery_upload_button">Subir</string>
@@ -177,7 +92,6 @@
 	<string name="home_section_location_text_long">¡Están a solo %1$s kilometros de ti!</string>
 	<string name="lablanca_date_august">%1$s de agosto</string>
 	<string name="lablanca_date_july">%1$s de julio</string>
-	<string name="lablanca_nofestivals">Las Fiestas de La Blanca. Esos días, del 4 al 9 de agosto, en los que Vitoria-Gasteiz se transforma. Se llena de color y alegría, y en cada esquina puedes encontrar actividades y espectáculos. Todos las estamos esperando.\n\nPor desgracia, aún hay que esperar más.\n\nNosotros ya estamos trabajando en ello. Tan pronto como vayamos sabiendo más, aquí iremos publicando nuestro programa y otra información sobre las fiestas.</string>
 	<string name="lablanca_prices">Precios</string>
 	<string name="lablanca_prices_days">Dias sueltos</string>
 	<string name="lablanca_prices_pack">Packs</string>
@@ -192,5 +106,27 @@
 	<string name="schedule_month_july">Julio</string>
 	<string name="schedule_now">Ahora</string>
 	<string name="section_title_blog">Blog</string>
+	<string name="home_section_blog">Ultimos posts</string>
+	<string name="home_section_cityschedule">Programa de fiestas</string>
+	<string name="home_section_gallery">Ultimas fotos</string>
+	<string name="home_section_lablanca">La Blanca</string>
+	<string name="home_section_activities_past">Ultimas actividades</string>
+	<string name="app_cdesc"></string>
+	<string name="notification_action_activities">Ver actividades</string>
+	<string name="notification_action_blog">Abrir blog</string>
+	<string name="notification_action_cityschedule">Programa de fiestas</string>
+	<string name="notification_action_gallery">Abrir galeria</string>
+	<string name="notification_action_lablanca">Abrir La Blanca</string>
+	<string name="notification_action_location">Ver localizacion</string>
+	<string name="price">Precio: %1$d</string>
+	<string name="settings_about">Sobre nosotros</string>
+	<string name="settings_license">Licencia</string>
+	<string name="settings_license_content"><![CDATA[Copyright 2016 Iñigo Valentin<br/><br/>This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation.<br/><br/>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 at http://www.gnu.org/licenses/.<br/><br/>The name "Gasteizko Margolariak" and its logotype are property of Gasteizko Margolariak.<br/><br/><br/><div style="background-color:#bbbbbb;padding:6px;border-radius:5px;border-style:solid;border-width:2px;border-color:#333333;text-align:center;">You can get the source code for this project at <a href="https://github.com/Seavenois/GM">Github</a></div>]]></string>
+	<string name="settings_privacy">Privacidad</string>
+	<string name="settings_privacy_content"><![CDATA[In Gasteizko Margolariak we respect your privacy. We don\'t collect ANY data from our users, including personal information, location, shopping habits, sexual preferences, favourite colour, first love\'s name... ANY.<br/><br/>In order of making you believe us, we\'ll explain what we DO store:<br/><br/><ul><li>A randomly generated user code, unique to your device. This is neccessary to sync content with aur database, so you can get info about our post, activities... But it\'s done in a way that won\'t allow un to identify you as a person with that number.</li><li>When commenting on a photo ar an entry, we store your current IP address. This is incredibly usefull for us to know how many actual people are posting comments, and it also makes imposible for us to identify you as a person.</li></ul>]]></string>
+	<string name="settings_transparency">Transparencia</string>
+	<string name="settings_transparency_content"><![CDATA[¿Te preocupa saber dónde va tu dinero? En Gasteizko Margolariak queremos que estés tranquilo.<br/><br/>Muchas de nuestras actividades son gratuitas. Otras, como las fiestas de La Blanca, tienen una cuota de inscripción. Gasteizko Margolariak no es una empresa, es una Asociación Cultural, y como tal, no tenemos beneficios.<br/><br/>Queremos ser transparentes, y por eso, empezando en 2016, pondremos a tu disposición nuestras cuentas de manera online, para que sepas que cada euro se reinvierte en tí.]]></string>
+	<string name="lablanca_nofestivals">Las Fiestas de La Blanca. Esos días, del 4 al 9 de agosto, en los que Vitoria-Gasteiz se transforma. Se llena de color y alegría, y en cada esquina puedes encontrar actividades y espectáculos. Todos las estamos esperando.\n\nPor desgracia, aún hay que esperar más.\n\nNosotros ya estamos trabajando en ello. Tan pronto como vayamos sabiendo más, aquí iremos publicando nuestro programa y otra información sobre las fiestas.</string>
+	<string name="settings_about_content"><![CDATA[La Asociación Cultural Gasteizko Margolariak nace en el año 2013 con la idea de estimular la participación ciudadana y fortalecer la cultura y las tradiciones de Vitoria-Gasteiz.<br/><br/>En nuestro nombre se refleja un barrio en el que las calles nos recuerdan a grandes pintores: el barrio de San Martín. Estamos representados en los barrios, y creemos que son la esencia de esta ciudad.<br/><br/>Nos convertimos en Cuadrilla de Blusas y Neskas en 2013, y en ese mismo año, miembros de la Comisión de Blusas y Neskas.<br/><br/>Desde entonces no hemos hecho más que crecer junto con todos los que han decidido, año tras año, apostar por nosotros.]]></string>
 
 </resources>

+ 11 - 80
app/src/main/res/values-eu-rES/strings.xml

@@ -5,7 +5,6 @@
 
 	<!-- App related strings -->
 
-	<string name="app_email">gasteizkomargolariak@gmail.com</string>
 
 
 	<!-- Common strings -->
@@ -21,12 +20,10 @@
 	<string name="menu_lablanca">Andre Zuria</string>
 	<string name="menu_lablanca_schedule">Jaiako programa</string>
 	<string name="menu_lablanca_gm_schedule">Margolari programa</string>
-	<string name="menu_lablanca_around">Nire inguruan</string>
 	<string name="menu_location">Aurkitu</string>
 	<string name="menu_activities">Ekitaldeak</string>
 	<string name="menu_blog">Blog</string>
 	<string name="menu_gallery">Galeria</string>
-	<string name="menu_about">Gu</string>
 	<string name="menu_settings">Ezarpenak</string>
 
 	<!-- Schedule strings -->
@@ -36,39 +33,11 @@
 	<string name="schedule_host">Antolatu: %1$s</string>
 
 
-	<!-- Month names -->
-
-	<string name="month_07">Uztaila</string>
-	<string name="month_08">Abuztua</string>
-
-
 	<!-- Day strings -->
+
 	<string name="today">Gaur</string>
 	<string name="tomorrow">Bihar</string>
 
-	<string name="distance_m">metroak</string>
-	<string name="distance_k">kilometroak</string>
-
-	<!-- "Titles" for days -->
-
-
-	<!-- About section strings -->
-
-	<string name="about_license">This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation.\n\nThis 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 at http://www.gnu.org/licenses/.\n\nThe name "Gasteizko Margolariak" and its logotype are property of Gasteizko Margolariak.</string>
-	<string name="about_code">&lt;div style="background-color:#bbbbbb;padding:6px;border-radius:5px;border-style:solid;border-width:2px;border-color:#333333;text-align:center;">You can get the source code for this project at &lt;a href="https://github.com/Seavenois/GM">Github&lt;/a>&lt;/div></string>
-
-
-	<!-- Around section string -->
-
-	<string name="around_header">Ondoko ekitaldiak</string>
-	<string name="around_no_events_0">Ez dira okdoko ekitaldik</string>
-	<string name="around_no_events_button">Ikusi jaiako programa</string>
-	<string name="around_no_gps">GPS itxalita dago</string>
-	<string name="around_no_gps_text">Piztu ezazu GPS zure inguruko ekitaldiak ikusteko.</string>
-	<string name="around_no_gps_button">Ireki ezarpenak</string>
-	<string name="around_distance_short">Zure inguruan %1$s metoko (%2$s minutu oinez)</string>
-	<string name="around_distance_long">Zure inguruan %1$s kilometroko</string>
-
 
 	<!-- Home section strings -->
 
@@ -87,49 +56,14 @@
 	<string name="home_section_location_text_short">Zure inguruan %1$s metokoan daude (%2$s minutu oinez)</string>
 	<string name="home_section_location_text_long">Zure inguruan %1$s kilometrokoan daude!</string>
 
-	<string name="home_section_join">Bildu Gasteizko Margolariak</string>
-	<string name="home_section_schedule_see">Guztiak ikusi</string>
-	<string name="home_section_gm_see">Demak ikusi</string>
-	<string name="home_section_around_see">Gehiago ikusi</string>
-	<string name="home_section_location_see">Mapa</string>
-	<string name="home_section_social_see">Jarraitu</string>
-	<string name="home_section_join_see">kusi prezioak</string>
-	<string name="home_section_join_header">Bildu Gasteizko Margolariak prezio txikien</string>
-	<string name="home_section_join_text">Ordaindu egun egunero edo oferta bat aukeratu!</string>
-	<string name="home_section_join_footer">Kontsulta ezazu gure prezioak eta aukeratu!</string>
-
-
-	<!-- Prices dialog strings -->
-
 
 	<!-- Settings section strings -->
 
-	<string name="settings_section_notification">NOTIFICATIONS</string>
 	<string name="settings_notification">Notifications</string>
 	<string name="settings_notification_on">Receive notifications</string>
 	<string name="settings_notification_off">Don\'t receive notifications</string>
-	<string name="settings_notification_gm">Margolari notifications</string>
-	<string name="settings_notification_gm_on">Receive Margolari notifications</string>
-	<string name="settings_notification_gm_off">Don\'t receive Margolari notifications</string>
-	<string name="settings_section_account">ACCOUNT</string>
-	<string name="settings_account_gm">Margolari</string>
-	<string name="settings_account_gm_on">I am Margolari</string>
-	<string name="settings_account_gm_off">I am not Margolari</string>
-	<string name="settings_account_name">Name</string>
-	<string name="settings_account_message_title">Set username</string>
-	<string name="settings_account_message_text">Set a username to help us identify you and offer you better activities.</string>
-	<string name="settings_account_message_save">Save</string>
-	<string name="settings_account_message_cancel">Cancel</string>
-	<string name="settings_account_unset">Not set</string>
-	<string name="settings_account_name_disclaimer">We will not share your name or any other personal info with third parties.</string>
 
 
-	<!-- Location section strings -->
-
-	<string name="location_not_reporting">Gasteizko Margolariak ez dago lokalizazioa bidalitzen.</string>
-	<string name="location_button">Konsultatu Margolari programa</string>
-
-	<!-- Blog section strings -->
 
 	<!-- Activity section strings -->
 	<string name="activity_city">Hiria:</string>
@@ -180,10 +114,6 @@
 
 	<!-- Accesibility strings -->
 
-	<string name="accesibility_event">Ekitaldia</string>
-	<string name="accesibility_event_gm">Gertaera anfitrioi Gasteizko Margolariak arabera</string>
-	<string name="accesibility_event_schedule">Event in the municipal schedule</string>
-
 
 	<!--Schedule section strings -->
 	<string name="schedule_now">Orain</string>
@@ -194,11 +124,6 @@
 	<string name="social_whatsapp_error">Instalatuta dago WhatsApp?</string>
 
 
-	<!-- Misc strings -->
-	
-	<string name="kilometers">kilometroak</string>
-	<string name="meters">metroak</string>
-
 
 	<!-- Notification dialog strings -->
 	
@@ -207,7 +132,6 @@
 	<string name="notification_action_gmschedule">Ikusi Margolari programa</string>
 	<string name="notification_action_cityschedule">Ireki jaiako programa</string>
 	<string name="notification_action_location">Ikus lokalizazioia</string>
-	<string name="notification_action_around">Ikusi ekitaldiak</string>
 	<string name="notification_action_blog">Ireki blog</string>
 	<string name="notification_action_activities">Ireki ekitaldiak</string>
 	<string name="notification_action_gallery">Ireki galeria</string>
@@ -224,8 +148,15 @@
 	<string name="dialog_sync_failed_title">Sinkronizazioko errakuntza</string>
 	<string name="dialog_sync_failed_text">Couldn\'t download content.\n\nMake sure you have a network connection and try again.</string>
 	<string name="dialog_sync_failed_close">Itxali</string>
-	<string name="home_section_gm">Gertaera anfitrioi Gasteizko Margolariak arabera</string>
-	<string name="home_section_schedule">Hirian ekitaldiak</string>
-	<string name="notification_action_schedule">Ireki jaiako programa</string>
+	<string name="lablanca_nofestivals">Las Fiestas de La Blanca. Esos días, del 4 al 9 de agosto, en los que Vitoria-Gasteiz se transforma. Se llena de color y alegría, y en cada esquina puedes encontrar actividades y espectáculos. Todos las estamos esperando.\n\nPor desgracia, aún hay que esperar más.\n\nNosotros ya estamos trabajando en ello. Tan pronto como vayamos sabiendo más, aquí iremos publicando nuestro programa y otra información sobre las fiestas.</string>
+	<string name="price">Prezioa: %1$d</string>
+	<string name="settings_about">Sobre nosotros</string>
+	<string name="settings_about_content"><![CDATA[La Asociación Cultural Gasteizko Margolariak nace en el año 2013 con la idea de estimular la participación ciudadana y fortalecer la cultura y las tradiciones de Vitoria-Gasteiz.<br/><br/>En nuestro nombre se refleja un barrio en el que las calles nos recuerdan a grandes pintores: el barrio de San Martín. Estamos representados en los barrios, y creemos que son la esencia de esta ciudad.<br/><br/>Nos convertimos en Cuadrilla de Blusas y Neskas en 2013, y en ese mismo año, miembros de la Comisión de Blusas y Neskas.<br/><br/>Desde entonces no hemos hecho más que crecer junto con todos los que han decidido, año tras año, apostar por nosotros.]]></string>
+	<string name="settings_license">Lizentzia</string>
+	<string name="settings_license_content"><![CDATA[Copyright 2016 Iñigo Valentin<br/><br/>This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation.<br/><br/>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 at http://www.gnu.org/licenses/.<br/><br/>The name "Gasteizko Margolariak" and its logotype are property of Gasteizko Margolariak.<br/><br/><br/><div style="background-color:#bbbbbb;padding:6px;border-radius:5px;border-style:solid;border-width:2px;border-color:#333333;text-align:center;">You can get the source code for this project at <a href="https://github.com/Seavenois/GM">Github</a></div>]]></string>
+	<string name="settings_privacy">Privacidad</string>
+	<string name="settings_privacy_content"><![CDATA[In Gasteizko Margolariak we respect your privacy. We don\'t collect ANY data from our users, including personal information, location, shopping habits, sexual preferences, favourite colour, first love\'s name... ANY.<br/><br/>In order of making you believe us, we\'ll explain what we DO store:<br/><br/><ul><li>A randomly generated user code, unique to your device. This is neccessary to sync content with aur database, so you can get info about our post, activities... But it\'s done in a way that won\'t allow un to identify you as a person with that number.</li><li>When commenting on a photo ar an entry, we store your current IP address. This is incredibly usefull for us to know how many actual people are posting comments, and it also makes imposible for us to identify you as a person.</li></ul>]]></string>
+	<string name="settings_transparency">Transparencia</string>
+	<string name="settings_transparency_content"><![CDATA[¿Te preocupa saber dónde va tu dinero? En Gasteizko Margolariak queremos que estés tranquilo.<br/><br/>Muchas de nuestras actividades son gratuitas. Otras, como las fiestas de La Blanca, tienen una cuota de inscripción. Gasteizko Margolariak no es una empresa, es una Asociación Cultural, y como tal, no tenemos beneficios.<br/><br/>Queremos ser transparentes, y por eso, empezando en 2016, pondremos a tu disposición nuestras cuentas de manera online, para que sepas que cada euro se reinvierte en tí.]]></string>
 
 </resources>

+ 0 - 10
app/src/main/res/values-w820dp/dimens.xml

@@ -1,10 +0,0 @@
-<resources>
-
-    <!--
-         Example customization of dimensions originally defined in res/values/dimens.xml
-         (such as screen margins) for screens with more than 820dp of available width. This
-         would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively).
-    -->
-    <dimen name="activity_horizontal_margin">64dp</dimen>
-
-</resources>

+ 0 - 7
app/src/main/res/values/dimens.xml

@@ -1,7 +0,0 @@
-<resources>
-
-    <!-- Default screen margins, per the Android Design guidelines. -->
-    <dimen name="activity_horizontal_margin">16dp</dimen>
-    <dimen name="activity_vertical_margin">16dp</dimen>
-
-</resources>

+ 2 - 63
app/src/main/res/values/strings.xml

@@ -4,15 +4,11 @@
 	<!-- Tag keys -->
 	<string name="key_0" translatable="false">0</string>
 	<string name="key_1" translatable="false">1</string>
-	<string name="key_2" translatable="false">2</string>
-	<string name="key_3" translatable="false">3</string>
 
 	<!-- App related strings -->
 
 	<string name="app_name" translatable="false">Gasteizko Margolariak</string>
-	<string name="app_name_software" translatable="false">Gasteizko Margolariak App</string>
-	<string name="app_email">gasteizkomargolariak@gmail.com</string>
-	<string name="app_cdesc"> </string>
+	<string name="app_cdesc" translatable="false"> </string>
 
 
 	<!-- Common strings -->
@@ -32,47 +28,23 @@
 	<string name="menu_lablanca">La Blanca</string>
 	<string name="menu_lablanca_schedule">Festival schedule</string>
 	<string name="menu_lablanca_gm_schedule">Margolariak schedule</string>
-	<string name="menu_lablanca_around">Around me</string>
 	<string name="menu_location">Find us</string>
 	<string name="menu_activities">Activities</string>
 	<string name="menu_blog">Blog</string>
 	<string name="menu_gallery">Gallery</string>
-	<string name="menu_about">About Us</string>
 	<string name="menu_settings">Settings</string>
 
 	<!-- Schedule strings -->
-
 	<string name="schedule_filter">Search&#8230;</string>
 	<string name="schedule_close">Close</string>
 	<string name="schedule_host">Host: %1$s</string>
 
 
-	<!-- Month names -->
-
-	<string name="month_07">July</string>
-	<string name="month_08">August</string>
-
 
 	<!-- Day strings -->
 	<string name="today">Today</string>
 	<string name="tomorrow">Tomorrow</string>
 
-	<string name="distance_m">meters</string>
-	<string name="distance_k">kilometers</string>
-
-
-	<!-- Around section string -->
-
-	<string name="around_header">Nearby events</string>
-	<string name="around_no_events_0">There are no upcoming events.</string>
-	<string name="around_no_events_1">Wait for the festivals te be closer, and you will see activities around you!</string>
-	<string name="around_no_events_button">Check out festivals schedule</string>
-	<string name="around_no_gps">GPS turned off</string>
-	<string name="around_no_gps_text">Turn on GPS to be able to see events around you.</string>
-	<string name="around_no_gps_button">Open settings</string>
-	<string name="around_distance_short">%1$s meters away from you (About %2$s minutes walking)</string>
-	<string name="around_distance_long">%1$s kilometers away from you </string>
-
 
 	<!-- Home section strings -->
 
@@ -91,16 +63,6 @@
 	<string name="home_section_location_text_short">They are just %1$d meters away from you!\n(About %2$d minutes walking)</string>
 	<string name="home_section_location_text_long">They are just %1$s kilometers away from you!</string>
 
-	<string name="home_section_join">Join Gasteizko Margolariak</string>
-	<string name="home_section_schedule_see">See all</string>
-	<string name="home_section_gm_see">See all</string>
-	<string name="home_section_around_see">See more</string>
-	<string name="home_section_location_see">Map</string>
-	<string name="home_section_social_see">Follow us</string>
-	<string name="home_section_join_see">See prices</string>
-	<string name="home_section_join_header">Join Gasteizko Margolariak for the best of prices!</string>
-	<string name="home_section_join_text">Pay day by day or choose between our offer packs!</string>
-	<string name="home_section_join_footer">Check out our prices and choose your option.</string>
 
 
 	<!-- Settings section strings -->
@@ -117,19 +79,8 @@
 	<string name="settings_about_content">La Asociación Cultural Gasteizko Margolariak nace en el año 2013 con la idea de estimular la participación ciudadana y fortalecer la cultura y las tradiciones de Vitoria-Gasteiz.&lt;br/>&lt;br/>En nuestro nombre se refleja un barrio en el que las calles nos recuerdan a grandes pintores: el barrio de San Martín. Estamos representados en los barrios, y creemos que son la esencia de esta ciudad.&lt;br/>&lt;br/>Nos convertimos en Cuadrilla de Blusas y Neskas en 2013, y en ese mismo año, miembros de la Comisión de Blusas y Neskas.&lt;br/>&lt;br/>Desde entonces no hemos hecho más que crecer junto con todos los que han decidido, año tras año, apostar por nosotros.</string>
 	<string name="settings_transparency_content">¿Te preocupa saber dónde va tu dinero? En Gasteizko Margolariak queremos que estés tranquilo.&lt;br/>&lt;br/>Muchas de nuestras actividades son gratuitas. Otras, como las fiestas de La Blanca, tienen una cuota de inscripción. Gasteizko Margolariak no es una empresa, es una Asociación Cultural, y como tal, no tenemos beneficios.&lt;br/>&lt;br/>Queremos ser transparentes, y por eso, empezando en 2016, pondremos a tu disposición nuestras cuentas de manera online, para que sepas que cada euro se reinvierte en tí.</string>
 
-
-	<!-- Location section strings -->
-
-	<string name="location_not_reporting">Gasteizko Margolariak isn\'t currently reporting thir location.</string>
-	<string name="location_now">But, according to their schedule, you can find them now at %1$s.</string>
-	<string name="location_today">But, according to their schedule, you can find them at %1$s at %2$s.</string>
-	<string name="location_tomorrow">But, according to their schedule, you can find them tomorrow at %1$s at %2$s.</string>
-	<string name="location_button">Check out the Margolari schedule</string>
-
 	<!-- Blog section strings -->
-	<string name="blog_pager_first" translatable="false">&lt;&lt;</string>
 	<string name="blog_pager_previous" translatable="false">&lt;</string>
-	<string name="blog_pager_last" translatable="false">&gt;&gt;</string>
 	<string name="blog_pager_next" translatable="false">&gt;</string>
 
 	<!-- Activity section strings -->
@@ -180,13 +131,6 @@
 	<string name="comment_toast_text">Enter comment text</string>
 
 
-	<!-- Accesibility strings -->
-
-	<string name="accesibility_event">Event</string>
-	<string name="accesibility_event_gm">Event organized by Gasteizko Margolariak</string>
-	<string name="accesibility_event_schedule">Event in the municipal schedule</string>
-
-
 	<!--Schedule section strings -->
 	<string name="schedule_now">Now</string>
 	<string name="schedule_later">Later</string>
@@ -202,7 +146,6 @@
 	<string name="social_youtube" translatable="false">Youtube</string>
 	<string name="social_instagram" translatable="false">Instagram</string>
 	<string name="social_phone_link" translatable="false">tel:+34637140371</string>
-	<string name="social_web_link" translatable="false">http://margolariak.com/</string>
 	<string name="social_mail_link" translatable="false">mailto:gasteizkomargolariak@gmail.com</string>
 	<string name="social_whatsapp_link" translatable="false">smsto:+34637140371</string>
 	<string name="social_whatsapp_package" translatable="false">com.whatsapp</string>
@@ -216,9 +159,7 @@
 
 
 	<!-- Misc strings -->
-	
-	<string name="kilometers">kilometers</string>
-	<string name="meters">meters</string>
+
 	<string name="eur" translatable="false">€</string>
 
 	
@@ -229,7 +170,6 @@
 	<string name="notification_action_gmschedule"> Open Margolari schedule </string>
 	<string name="notification_action_cityschedule"> Open city schedule </string>
 	<string name="notification_action_location"> Show location </string>
-	<string name="notification_action_around"> Show events </string>
 	<string name="notification_action_blog"> Open blog </string>
 	<string name="notification_action_activities"> Open activities </string>
 	<string name="notification_action_gallery"> Open gallery </string>
@@ -243,7 +183,6 @@
 	<string name="dialog_sync_text_2">Serving kalimotxos&#8230;</string>
 	<string name="dialog_sync_text_3">\"&#8230;tu eres el piloto&#8230;\"</string>
 	<string name="dialog_sync_text_4">Afinando la tuba&#8230;</string>
-	<string name="dialog_sync_internet">You must have an active network connection the first time you run this app.</string>
 	<string name="dialog_sync_failed_title">Synchronization failed</string>
 	<string name="dialog_sync_failed_text">Couldn\'t download content.\n\nMake sure you have a network connection and try again.</string>
 	<string name="dialog_sync_failed_close">Close</string>

+ 0 - 4
app/src/main/res/values/styles.xml

@@ -1,9 +1,5 @@
 <resources>
 
-    <drawable name="statusbar_background">#00000000</drawable>
-    <drawable name="window_background">#00000000</drawable>
-    <drawable name="separator">#00000000</drawable>
-
     <!--
         Base application theme, dependent on API level. This theme is replaced
         by AppBaseTheme from res/values-vXX/styles.xml on newer devices.

+ 361 - 1
build/intermediates/dex-cache/cache.xml

@@ -1,2 +1,362 @@
 <?xml version="1.0" encoding="utf-8"?>
-<items version="2" />
+<items version="2" >
+
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.firebase/firebase-iid/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="b3d0809a742c5f768c6aa9efc6decd5c1d6cd227">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.firebase-firebase-iid-9.0.2_106c24fd1ff8153b9bad803b8eaada340a219476.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-safetynet/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="b6af089f583d547bcffc0689b2e80bc7aaa54b15">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-safetynet-9.0.2_b9acf7f49b15f1a8a6bc28e4084b13fc4503c88e.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-cast/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="a45bc1ed812137b21dddd1cedaa3712b308f0b3f">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-cast-9.0.2_4cb8b8f78566867e581a10995fff029c95fa5423.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-analytics/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="fe5b47e764869f1076cb9cfe12801ed2ef4e9117">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-analytics-9.0.2_4034d02ef3ffa070bd5a34580954ae3df4f317a3.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-fitness/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="53f10fcd322a3931495d6ca2078a81f4957cdbce">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-fitness-9.0.2_1e7bee871dbaeeb3e93fdc1547f8f1b91b3a3b2e.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-wearable/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="764d32faf85bc6f7bd2cdcb3a70a482c1884fdd2">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-wearable-9.0.2_be36705190f88cf37f3fd54321030b43f73670ea.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-wallet/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="bc156efaaee99f1ef6bf471347373a4cbb28e2a1">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-wallet-9.0.2_76d973b57c3f03c9c9cc7f437b12afffbeb65440.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-identity/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="0c835e9f3875cf245877c9b17d1c69bc98f16057">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-identity-9.0.2_cc68e6dd08bd4c84fac9d24191a234c0b7c06d8b.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-ads-lite/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="b8e0372ca6dc89ac4fe22b76eeea4f68ece435b8">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-ads-lite-9.0.2_f82973d9efa7dc854b477e7cfc2dacba9534f669.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.firebase/firebase-analytics-impl/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="a511c684ea4c2cf31a3377d51e7677cb76696e07">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.firebase-firebase-analytics-impl-9.0.2_8bb95bbc4ae86323f36fc0fae3696b176ee69b89.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.firebase/firebase-storage-common/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="6ff48ef26bc539c78af4aa061cb9bad6abcbf5e8">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.firebase-firebase-storage-common-9.0.2_1d91e39e215c38aaadd1586af2e9ff3a7cde0466.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-iid/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="cf16220db9128d91a215aedc739584181d5ca6a4">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-iid-9.0.2_39ddfd3424007e1017754477762069b027c6ac2d.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-analytics-impl/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="6c58c14d15602fea2c50138c73bb107e8b832b62">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-analytics-impl-9.0.2_c11f8e414a21f059440fbcbdd5977b8da700a090.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.firebase/firebase-analytics/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="51a11c41a08f099a204e1b8dcc04f27217de50ec">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.firebase-firebase-analytics-9.0.2_8b3145b9ffc02b06a111c446d3513a9f71c3cc3f.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.firebase/firebase-crash/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="922c24fbfc4247947fcfaf2b95f295a16a8c3d17">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.firebase-firebase-crash-9.0.2_3d0260475845fbf63af381965af77c8242e982af.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.android.support/support-v4/23.4.0/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="67bd36ee9340ec7c254108936ad16b24bed160cc">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.android.support-support-v4-23.4.0_8ec857849a4ce1c67a306199512b6bc8095917ee.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.android.support/support-vector-drawable/23.4.0/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="c2c594cace5d83a3227b2b6e658ecbfd586d3ed9">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.android.support-support-vector-drawable-23.4.0_7860046841249ce9e269c4f5e623ccd89940b178.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.firebase/firebase-auth-module/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="79e298d7fed2fcada58da7032d07d34ee198a545">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.firebase-firebase-auth-module-9.0.2_559ee4641ec4ae3a3b436737f5a6247e8bde6a90.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-tagmanager-api/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="f399a2fde7888450cadcaec4974bfd169d8cce43">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-tagmanager-api-9.0.2_2a1c9e344b3af929cd38852c84d7425dddface85.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.android.support/mediarouter-v7/23.0.0/jars/libs/internal_impl-23.0.0.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="03d38bb042efe3e5ce27ba66b729a9523c36d8fe">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/internal_impl-23.0.0_c997727e2dfcea544ba04edcde4b26d0a0d12628.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Programs/Android/android-sdk-linux/extras/android/m2repository/com/android/support/support-annotations/23.4.0/support-annotations-23.4.0.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="ffbe55fdb2bb456b1485831706a9eac3300bb6b8">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/support-annotations-23.4.0_0d42e3b30c9c9e3c7fb8cb77d75364c1b866fe39.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-panorama/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="8c0fc9b1ea0bac0cb31d60c8b1bf2feb0518e3a9">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-panorama-9.0.2_bf224af753723ce8883acf1453eab7e2efc7b5c2.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-base/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="94d9cedd04b124aed044ac71c451a292856d854c">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-base-9.0.2_8ac29cd0bfca4152b55aac0476e7b013528502a1.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.firebase/firebase-messaging/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="f2774b1e02e5fbc524590311a744263c3b152d63">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.firebase-firebase-messaging-9.0.2_380184394b2977546e49a09bae3af1887d2286b0.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-tagmanager/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="d9ea4cdaafa29ec4651d6e4715788d3fcaa7b913">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-tagmanager-9.0.2_79ee80d8b4cf9645445e294e378287c2d0e7bfc6.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-auth-base/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="829c6e46cb221c2102801221c648b77113743e81">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-auth-base-9.0.2_f547726f0b8fd23a2b1fea2aaf915b849c07bcca.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.android.support/mediarouter-v7/23.0.0/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="d358b3dd49a7c67844622dcbc9cf4339e13952ce">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.android.support-mediarouter-v7-23.0.0_483216103c88f21ab3fcd4448f65df5743ae5479.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-plus/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="c96952c162c9f6076f44c5939982cb35491442ea">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-plus-9.0.2_cea153354f55cf33e6a8cbb1ea56ed4e5dcd4eab.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.firebase/firebase-database-connection/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="9819419ce8d79f3f81a0fc70f9345ac8c843af9c">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.firebase-firebase-database-connection-9.0.2_d50bd011ff0e22c18c50687c44e54003740584d9.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.android.support/support-v4/23.4.0/jars/libs/internal_impl-23.4.0.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="ea3c07504d2c8f4b13aa17c45c1b68ed9c1c3674">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/internal_impl-23.4.0_1347c07f78749309dea6300067a0e579f22b9cab.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-appindexing/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="d900f2a1ff098cac8befe6c023d723e9afb154be">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-appindexing-9.0.2_5628b1f4846d77e1e8f5f4204e8c0ead45647e76.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-basement/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="4022261eeea0d92eb2997a68d2c1f084a16abad9">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-basement-9.0.2_802ad66107f157ad2aef5a03f6a5a8c02434fb91.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-nearby/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="7e52b440a26498c56b4f263e215223b5451c955e">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-nearby-9.0.2_5b34fd468c930314158e1c1f6b1947017d6d4e79.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.4.0/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="548f06de403a9409f00554b3ee12a9fdea0e236c">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.android.support-appcompat-v7-23.4.0_4730ac223405697ea3542ce7a877434d6f12b651.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.firebase/firebase-config/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="604ecf403feb0084dc6d0c12f1677a490cf45e4c">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.firebase-firebase-config-9.0.2_29c0c56b8e0421484df0c5cd4d760785d3f25d5e.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-tasks/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="aec1bc54964a85d851c2c1b1cb7f90f7dbd755ab">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-tasks-9.0.2_3c48c62c0884f3e01d6d85ddd260b92fa9cb3d0c.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-location/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="92a1d5f71b0fc8938f1d3f2e6ef984b52b894b4d">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-location-9.0.2_9ea62a0e92072db1753ce49d2bd814087b6b17c0.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.android.support/animated-vector-drawable/23.4.0/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="de4db3785756bfb0915a9f59a9b3f2fea7407be4">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.android.support-animated-vector-drawable-23.4.0_20d38fdcf69f7ec2bc32351418b60e0dc30cc7a8.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-auth/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="060a7157438a0b1b0706b99c430fb3ecbc5a79a4">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-auth-9.0.2_d196b29b3631da55a626a36bb9459c6a0f0ecb82.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-vision/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="2ab5be19bbd34bae74662ea6b2d4451314d92d97">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-vision-9.0.2_5b14d53c5b590df1d2dcfa3bb0029de02b170354.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-ads/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="f4fb6981392ca7680d02fd57d26d6124c141d9d9">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-ads-9.0.2_ae78de2379040c290bcf4ac04254bac1cff6d1d2.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-appinvite/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="e11da70cff6a544a45cdc21f419802d9bb9043ac">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-appinvite-9.0.2_4454ad53e7685e80acc8732357ce1a66c0e94653.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-games/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="a498fab72f8663c26fbf3d4496eb6b673b17bcae">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-games-9.0.2_a2b75ec259e82d62d2527e9c7e64c1c42113d4c2.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.firebase/firebase-storage/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="cd4c7c54e15d9ccbc448384fa2c4684d69ca73f0">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.firebase-firebase-storage-9.0.2_f476bd6cc7abcf29f14e01fb2c5992dc041a419f.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.firebase/firebase-auth-common/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="568d5bda0b4d51f90d978ace369bb9ad024d2057">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.firebase-firebase-auth-common-9.0.2_44fa85bcee238dc204a0f9db1cdc2d8a32f7ae12.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.firebase/firebase-common/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="9919563cffd8e3732e944d3c437d4b9575a08448">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.firebase-firebase-common-9.0.2_90d472ffeb1c63cd2dee04c0205320ef653d3ce7.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.firebase/firebase-database/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="4ec890171a97b5ab98292f131aa784e0f3792c73">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.firebase-firebase-database-9.0.2_1e520f11a2397d38c9f46f69b0d4fa6af8867e5a.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-drive/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="143813b18381b28de1e04aae1d92fcb374a0add9">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-drive-9.0.2_7951a33b58460120904e678bfd2221b3017e6042.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.firebase/firebase-auth/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="fa472b7cbd3897bf6bed6068ac0b00e494987688">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.firebase-firebase-auth-9.0.2_9a3ea2a4bf0b6e44451634f6431aa75fb62c8f6b.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-maps/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="20e1a0f0de6276a5f36062b655f8b20f8cc00cc4">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-maps-9.0.2_f58d916f8cc24c7764ed75cb353fa4de09435bbb.jar" />
+    </item>
+    <item
+        jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-gcm/9.0.2/jars/classes.jar"
+        jumboMode="false"
+        revision="23.0.3"
+        sha1="e6970f0554f9508c041f1f6960af15cc888c9f35">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-gcm-9.0.2_ef3dfc28ebcb7429bea4710d7e3010ff027b08c6.jar" />
+    </item>
+
+</items>