mirror of
				https://github.com/bspeice/itcs4180
				synced 2025-10-26 06:50:32 -04:00 
			
		
		
		
	Added dialogs to check if GPS is enabled and zxing is installed.
Added string resources.
This commit is contained in:
		| @ -15,5 +15,10 @@ | ||||
|     <string name="found_text">Location Found!</string> | ||||
|     <string name="see_more_text">More Location Information</string> | ||||
|     <string name="try_more_button">Try Another Location</string> | ||||
|     <string name="gps_disabled_message">GPS must be enabled to use the compass.Would you like to enable it now?</string> | ||||
|     <string name="zxing_missing_message">zxing Barcode Scanner must be installed to scan QR codes. Would you like to install it now?</string> | ||||
|     <string name="zxing_market_uri">market://details?id=com.google.zxing.client.android</string> | ||||
|     <string name="dialog_ok_text">OK</string> | ||||
|     <string name="dialog_cancel_text">Cancel</string> | ||||
|  | ||||
| </resources> | ||||
|  | ||||
| @ -9,14 +9,16 @@ package edu.uncc.scavenger; | ||||
|  | ||||
| import java.net.URL; | ||||
|  | ||||
| import com.example.hw4.ImageViewerActivity.ImageDownloader; | ||||
|  | ||||
| import edu.uncc.scavenger.rest.RestLocation; | ||||
| import android.app.Activity; | ||||
| import android.app.AlertDialog; | ||||
| import android.content.ActivityNotFoundException; | ||||
| import android.content.Context; | ||||
| import android.content.DialogInterface; | ||||
| import android.content.Intent; | ||||
| import android.graphics.Bitmap; | ||||
| import android.graphics.BitmapFactory; | ||||
| import android.location.LocationManager; | ||||
| import android.net.Uri; | ||||
| import android.os.AsyncTask; | ||||
| import android.os.Bundle; | ||||
| @ -55,10 +57,6 @@ public class SearchActivity extends Activity { | ||||
| 		locationText.setText(restLocation.getName()); | ||||
| 		riddleView.setText(restLocation.getRiddle()); | ||||
| 		 | ||||
| 		//TODO | ||||
| 		//Load picture | ||||
| 		//Load hints | ||||
| 		 | ||||
| 		scanButton.setOnClickListener(new OnClickListener(){ | ||||
|  | ||||
| 			@Override | ||||
| @ -70,25 +68,71 @@ public class SearchActivity extends Activity { | ||||
| 					startActivityForResult(intent, 0); | ||||
| 				} | ||||
| 				catch(ActivityNotFoundException e){ | ||||
| 					 | ||||
| 					AlertDialog.Builder builder = new AlertDialog.Builder(SearchActivity.this); | ||||
| 					builder.setMessage(getString(R.string.zxing_missing_message)); | ||||
| 					builder.setPositiveButton(getString(R.string.dialog_ok_text), new DialogInterface.OnClickListener(){ | ||||
|  | ||||
| 						@Override | ||||
| 						public void onClick(DialogInterface dialog, int which) { | ||||
| 							//Does not work on an emulator because there is no access to the market | ||||
| 					Uri marketUri = Uri.parse("market://details?id=com.google.zxing.client.android"); | ||||
| 							Uri marketUri = Uri.parse(getString(R.string.zxing_market_uri)); | ||||
| 							Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri); | ||||
| 							startActivity(marketIntent); | ||||
| 						} | ||||
| 					}); | ||||
| 					builder.setNegativeButton(getString(R.string.dialog_cancel_text), new DialogInterface.OnClickListener(){ | ||||
|  | ||||
| 						@Override | ||||
| 						public void onClick(DialogInterface dialog, int which) { | ||||
| 							dialog.cancel();	 | ||||
| 						} | ||||
| 					}); | ||||
| 					AlertDialog alert = builder.create(); | ||||
| 					alert.show(); | ||||
| 				} | ||||
| 			} | ||||
| 		}); | ||||
| 		compassButton.setOnClickListener(new OnClickListener(){ | ||||
|  | ||||
| 			@Override | ||||
| 			public void onClick(View v) { | ||||
| 				LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); | ||||
| 				 | ||||
| 				if(lm.isProviderEnabled(LocationManager.GPS_PROVIDER)) | ||||
| 				{ | ||||
| 					intent = new Intent(getApplicationContext(), CompassActivity.class); | ||||
| 					intent.putExtra("searchLat", restLocation.getLocationLat()); | ||||
| 					intent.putExtra("searchLong", restLocation.getLocationLong()); | ||||
| 					startActivity(intent); | ||||
| 				} | ||||
| 				else | ||||
| 				{ | ||||
| 					AlertDialog.Builder builder = new AlertDialog.Builder(SearchActivity.this); | ||||
| 					builder.setMessage(getString(R.string.gps_disabled_message)); | ||||
| 					builder.setPositiveButton(getString(R.string.dialog_ok_text), new DialogInterface.OnClickListener(){ | ||||
|  | ||||
| 						@Override | ||||
| 						public void onClick(DialogInterface dialog, int which) { | ||||
| 							Intent intent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); | ||||
| 							startActivity(intent); | ||||
| 						} | ||||
| 					}); | ||||
| 					builder.setNegativeButton(getString(R.string.dialog_cancel_text), new DialogInterface.OnClickListener(){ | ||||
|  | ||||
| 						@Override | ||||
| 						public void onClick(DialogInterface dialog, int which) { | ||||
| 							dialog.cancel();	 | ||||
| 						} | ||||
| 					}); | ||||
| 					AlertDialog alert = builder.create(); | ||||
| 					alert.show(); | ||||
| 				} | ||||
| 			} | ||||
| 		}); | ||||
| 		 | ||||
| 		new ImageDownloader().execute(restLocation.getLocationImageUrl()); | ||||
| 		//Toast.makeText(getApplicationContext(), restLocation.getLocationImageURL(), Toast.LENGTH_SHORT).show(); | ||||
| 		new ImageDownloader().execute(restLocation.getLocationImageURL()); | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| @ -126,7 +170,7 @@ public class SearchActivity extends Activity { | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                 	Toast.makeText(getApplicationContext(), "Incorrect url found: "+contents, Toast.LENGTH_SHORT).show(); | ||||
|                 	Toast.makeText(getApplicationContext(), "Incorrect place found: "+contents, Toast.LENGTH_SHORT).show(); | ||||
|                 } | ||||
|             }  | ||||
|             else if (resultCode == RESULT_CANCELED)  | ||||
| @ -155,7 +199,10 @@ public class SearchActivity extends Activity { | ||||
| 		@Override | ||||
| 		protected void onPostExecute(Bitmap result) { | ||||
| 			 | ||||
| 			if(result!=null) | ||||
| 			{ | ||||
| 				locationImage.setImageBitmap(result); | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 tokugawa
					tokugawa