Skip to content

Commit b01c4b0

Browse files
Finalizing 1.4-Alpha for publication to Alpha channel
1 parent f17d4fd commit b01c4b0

10 files changed

Lines changed: 85 additions & 23 deletions

File tree

app/src/main/java/org/open311/android/MainActivity.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,13 @@ public void onClick(DialogInterface dialog, int index) {
119119
if (!currentCity.getCityName().equals(values[index])) {
120120
Log.d(LOG_TAG, "onCreateOptionsMenu - Selected City: " + values[index]);
121121
result = saveSetting(MainActivity.this, "current_city", values[index]);
122+
123+
//remove sharedSettings for Map so map resets
124+
removeSetting(MainActivity.this, "map_address_string");
125+
removeSetting(MainActivity.this, "map_latitude");
126+
removeSetting(MainActivity.this, "map.longitude");
127+
removeSetting(MainActivity.this, "map_zoom");
128+
122129
getCurrentCity();
123130
recreate();
124131
}

app/src/main/java/org/open311/android/MapActivity.java

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import android.content.Context;
55
import android.content.DialogInterface;
66
import android.content.Intent;
7+
import android.content.SharedPreferences;
78
import android.content.pm.PackageManager;
89
import android.location.Address;
910
import android.location.Location;
@@ -48,7 +49,11 @@
4849
import java.util.List;
4950
import java.util.Locale;
5051

52+
import static org.open311.android.helpers.Utils.getSettings;
53+
import static org.open311.android.helpers.Utils.saveSetting;
54+
5155
public class MapActivity extends AppCompatActivity {
56+
private SharedPreferences settings;
5257
private MapView mapView;
5358
private MapboxMap map;
5459

@@ -83,7 +88,7 @@ private enum source {
8388
protected void onCreate(Bundle savedInstanceState) {
8489

8590
super.onCreate(savedInstanceState);
86-
91+
settings = getSettings(this);
8792
// Mapbox access token only needs to be configured once in your app
8893
MapboxAccountManager.start(this, getString(R.string.mapbox_api_key));
8994
setContentView(R.layout.activity_map);
@@ -99,12 +104,24 @@ protected void onCreate(Bundle savedInstanceState) {
99104
mapView.getMapAsync(new OnMapReadyCallback() {
100105
@Override
101106
public void onMapReady(MapboxMap mapboxMap) {
102-
City city = City.fromString(getString(R.string.open311_endpoint));
107+
City city = City.fromString(settings.getString("current_city", getString(R.string.open311_endpoint)));
103108
if (city.getMap() != null) {
104-
LatLng point = new LatLng(city.getMap().getLat(), city.getMap().getLon());
109+
LatLng point = new LatLng(
110+
settings.getFloat("map_latitude", city.getMap().getLat()),
111+
settings.getFloat("map_longitude", city.getMap().getLon())
112+
);
113+
mapboxMap.setCameraPosition(new CameraPosition.Builder()
114+
.target(point)
115+
.zoom((double) settings.getFloat("map_zoom", city.getMap().getZoom()))
116+
.build());
117+
} else {
118+
LatLng point = new LatLng(
119+
settings.getFloat("map_latitude", 0.0f),
120+
settings.getFloat("map_longitude", 0.0f)
121+
);
105122
mapboxMap.setCameraPosition(new CameraPosition.Builder()
106123
.target(point)
107-
.zoom(new Double(city.getMap().getZoom()))
124+
.zoom((double) settings.getFloat("map_zoom", 0.0f))
108125
.build());
109126
}
110127
map = mapboxMap;
@@ -115,6 +132,7 @@ public void onMapClick(@NonNull LatLng point) {
115132
sourceType = source.CLICK.value;
116133
latitude = (float) point.getLatitude();
117134
longitude = (float) point.getLongitude();
135+
118136
//updateMap, but don't center it
119137
updateMap(false);
120138
}
@@ -137,10 +155,14 @@ public void onClick(View v) {
137155
@Override
138156
public void onClick(View v) {
139157
Intent data = new Intent();
158+
140159
data.putExtra("address_string", Utils.formatAddress(address));
141160
data.putExtra("latitude", latitude);
142161
data.putExtra("longitude", longitude);
143162
data.putExtra("source", sourceType);
163+
saveSetting(MapActivity.this, "map_latitude", latitude);
164+
saveSetting(MapActivity.this, "map_longitude", longitude);
165+
saveSetting(MapActivity.this, "map_zoom", (float) map.getCameraPosition().zoom);
144166
setResult(RESULT_OK, data);
145167
finish();
146168
}

app/src/main/java/org/open311/android/fragments/ReportFragment.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
import org.open311.android.R;
6666
import org.open311.android.SoundRecorderActivity;
6767

68-
import org.open311.android.adapters.AttachmentAdapter;
68+
//import org.open311.android.adapters.AttachmentAdapter;
6969
import org.open311.android.helpers.MyReportsFile;
7070
import org.open311.android.models.Attachment;
7171
import org.open311.android.network.POSTServiceRequestDataWrapper;
@@ -100,7 +100,7 @@ public class ReportFragment extends Fragment {
100100
private LinkedList<Attachment> attachments;
101101
private List<Service> services;
102102

103-
private AttachmentAdapter attachmentAdapter;
103+
//private AttachmentAdapter attachmentAdapter;
104104

105105
private ProgressDialog progress;
106106

@@ -170,9 +170,9 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle st
170170
ImageView photoPlaceholder = (ImageView) view.findViewById((R.id.photoPlaceholder));
171171

172172
new RetrieveServicesTask().execute(); // Load services-list in the background
173-
attachmentAdapter = new AttachmentAdapter(getActivity(), attachments);
174-
ListView listView = (ListView) view.findViewById(R.id.attachment_list);
175-
listView.setAdapter(attachmentAdapter);
173+
//attachmentAdapter = new AttachmentAdapter(getActivity(), attachments);
174+
//ListView listView = (ListView) view.findViewById(R.id.attachment_list);
175+
//listView.setAdapter(attachmentAdapter);
176176
//Hide the keyboard unless the descriptionView is selected
177177
mDescriptionView.setOnFocusChangeListener(new View.OnFocusChangeListener() {
178178
@Override
@@ -334,7 +334,7 @@ public void onCompletion(MediaPlayer mp) {
334334

335335
public void updateAudio(final Uri uri) {
336336
if (uri != null) {
337-
attachmentAdapter.add(new Attachment(Attachment.AttachmentType.AUDIO, uri));
337+
//attachmentAdapter.add(new Attachment(Attachment.AttachmentType.AUDIO, uri));
338338
Log.d(LOG_TAG, "updateAudio - Uri:" + uri);
339339
TextView filename = (TextView) getActivity().findViewById(R.id.audio_text2);
340340
OnClickListener playClicked = new OnClickListener() {
@@ -378,7 +378,7 @@ private String niceName(Uri uri) {
378378

379379
public void updatePhoto(Uri uri, Boolean broadcast) {
380380
if (uri != null) {
381-
attachmentAdapter.add(new Attachment(Attachment.AttachmentType.IMAGE, uri));
381+
//attachmentAdapter.add(new Attachment(Attachment.AttachmentType.IMAGE, uri));
382382
Log.d(LOG_TAG, "updatePhoto - Uri:" + uri);
383383
if (broadcast) {
384384
// Tell the media gallery the photo is created

app/src/main/java/org/open311/android/helpers/Utils.java

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,19 @@ public static String addressString(Address address) {
7272
return sb.toString();
7373
}
7474

75+
public static String saveSetting(Activity activity, String key, Float value) {
76+
SharedPreferences settings = activity.getSharedPreferences(OPEN311_SETTINGS, 0);
77+
SharedPreferences.Editor editor = settings.edit();
78+
String result = null;
79+
editor.putFloat(key.replace(',', '_').replace(' ', '_').toLowerCase(), value);
80+
if (editor.commit()) {
81+
result = activity.getString(R.string.settings_saved);
82+
} else {
83+
result = activity.getString(R.string.error_occurred);
84+
}
85+
return result;
86+
}
87+
7588
public static String saveSetting(Activity activity, String key, String value) {
7689
SharedPreferences settings = activity.getSharedPreferences(OPEN311_SETTINGS, 0);
7790
SharedPreferences.Editor editor = settings.edit();
@@ -85,7 +98,7 @@ public static String saveSetting(Activity activity, String key, String value) {
8598
return result;
8699
}
87100

88-
public static String saveSetting(Activity activity, String key, List<String> values){
101+
public static String saveSetting(Activity activity, String key, List<String> values) {
89102
SharedPreferences settings = activity.getSharedPreferences(OPEN311_SETTINGS, 0);
90103
SharedPreferences.Editor editor = settings.edit();
91104
String result;
@@ -102,17 +115,25 @@ public static String saveSetting(Activity activity, String key, List<String> val
102115
return result;
103116
}
104117

118+
public static Boolean removeSetting(Activity activity, String key) {
119+
SharedPreferences settings = activity.getSharedPreferences(OPEN311_SETTINGS, 0);
120+
SharedPreferences.Editor editor = settings.edit();
121+
editor.remove(key.replace(',', '_').replace(' ', '_').toLowerCase());
122+
return editor.commit();
123+
}
105124

106-
107-
public static String[] updateReportsForCity(Activity activity, String city, String value){
125+
public static String[] updateReportsForCity(Activity activity, String city, String value) {
108126
List<String> mList = new ArrayList<String>();
109-
Collections.addAll(mList, getReportsForCity(activity, city));
127+
String[] existingReports = getReportsForCity(activity, city);
128+
if(existingReports != null){
129+
Collections.addAll(mList, existingReports);
130+
}
110131
mList.add(value);
111132
saveSetting(activity, city, mList);
112133
return getReportsForCity(activity, city);
113134
}
114135

115-
public static String[] getReportsForCity(Activity activity, String city){
136+
public static String[] getReportsForCity(Activity activity, String city) {
116137
SharedPreferences settings = activity.getSharedPreferences(OPEN311_SETTINGS, 0);
117138
Gson gson = new Gson();
118139
String jsonText = settings.getString(city.replace(',', '_').replace(' ', '_').toLowerCase(), null);

app/src/main/res/layout/fragment_report.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@
293293
android:tint="@color/iconColorMutedDark" />
294294
</android.support.v7.widget.LinearLayoutCompat>
295295
</ViewSwitcher>
296-
<android.support.v7.widget.ListViewCompat xmlns:android="http://schemas.android.com/apk/res/android"
296+
<!--<android.support.v7.widget.ListViewCompat xmlns:android="http://schemas.android.com/apk/res/android"
297297
xmlns:app="http://schemas.android.com/apk/res-auto"
298298
xmlns:tools="http://schemas.android.com/tools"
299299
android:id="@+id/attachment_list"
@@ -307,7 +307,7 @@
307307
android:padding="0dp"
308308
app:layoutManager="LinearLayoutManager"
309309
tools:context=".fragments.ReportFragment"
310-
tools:listitem="@layout/item_attachment" />
310+
tools:listitem="@layout/item_attachment" />-->
311311
</android.support.v7.widget.LinearLayoutCompat>
312312
</ScrollView>
313313

app/src/main/res/values-de/strings.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,9 @@
145145
<string name="no_servicecode">dienst</string>
146146
<string name="record_in_progress">Aufnahme läuft</string>
147147
<string name="record_ready">Aufnahme beendet</string>
148-
<string name="title">Title</string>
148+
<string name="title">Titel</string>
149149
<string name="id">Id</string>
150+
<string name="citiesListUnavailable">Einstellungen nicht vorhanden, fehlende Städteliste.</string>
151+
<string name="report_hint_cities">Wählen Sie Ihre Stadt</string>
152+
<string name="setting_map">Karte</string>
150153
</resources>

app/src/main/res/values-fi/strings.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,9 @@
145145
<string name="no_servicecode">tiedoksianto</string>
146146
<string name="record_in_progress">Tallennus käynnissä</string>
147147
<string name="record_ready">Tallennus päättynyt</string>
148-
<string name="title">Title</string>
148+
<string name="title">Otsikko</string>
149149
<string name="id">Id</string>
150+
<string name="citiesListUnavailable">Asetukset eivät ole käytettävissä, puuttuu kaupunkeja luetteloon.</string>
151+
<string name="report_hint_cities">Valitse kaupunki</string>
152+
<string name="setting_map">Kartta</string>
150153
</resources>

app/src/main/res/values-fr/strings.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,9 @@
145145
<string name="no_servicecode">service</string>
146146
<string name="record_in_progress">Enregistrement en cours</string>
147147
<string name="record_ready">Enregistrement terminé</string>
148-
<string name="title">Title</string>
148+
<string name="title">Titre</string>
149149
<string name="id">Id</string>
150+
<string name="citiesListUnavailable">Paramètres non disponibles, manquants Liste des villes.</string>
151+
<string name="report_hint_cities">Sélectionnez votre ville</string>
152+
<string name="setting_map">Carte</string>
150153
</resources>

app/src/main/res/values-nl/strings.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,9 @@
161161
<string name="pg_upload_audio_title">Uploaden (%1$d/%2$d)</string>
162162
<string name="pg_upload_image_title">Uploaden (%1$d/%2$d)</string>
163163
<string name="pg_upload_image_message">Afbeelding uploaden</string>
164-
<string name="title">Title</string>
164+
<string name="title">Titel</string>
165165
<string name="id">Id</string>
166+
<string name="citiesListUnavailable">Instellingen niet beschikbaar, stedenlijst ontbreekt.</string>
167+
<string name="report_hint_cities">Kies je gemeente</string>
168+
<string name="setting_map">Kaart</string>
166169
</resources>

org.codeforamerica.open311

0 commit comments

Comments
 (0)