public class ActivityAddRecipe
extends androidx.appcompat.app.AppCompatActivity
implements android.widget.AdapterView.OnItemSelectedListener, android.view.View.OnClickListener
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
ACTIVITY_ADD_RECIPE |
(package private) android.widget.Button |
addIngredientButton |
(package private) android.widget.Button |
addInstructionButton |
(package private) android.widget.ImageButton |
addPhotoPlaceholder |
(package private) android.widget.Button |
addRecipeButton |
(package private) android.widget.EditText |
author |
(package private) java.lang.String |
authorInput |
private static java.lang.String |
EDIT_RECIPE_ID_KEY |
(package private) RecipeWithIngredients |
editedRecipe |
(package private) boolean |
editing |
(package private) android.widget.TextView |
ingredient |
(package private) java.lang.Double |
ingredientAmountInput |
(package private) android.widget.LinearLayout |
ingredientListLayout |
(package private) java.lang.String |
ingredientMeasureInput |
(package private) java.lang.String |
ingredientNameInput |
(package private) java.util.List<Ingredient> |
ingredients |
(package private) android.widget.LinearLayout |
instructionListLayout |
(package private) java.util.List<java.lang.String> |
instructions |
(package private) java.lang.String |
levelOfDifficultyInput |
(package private) Recipe |
myOwnRecipe |
(package private) android.widget.EditText |
name |
(package private) java.lang.String |
nameInput |
(package private) java.lang.String |
photoInput |
(package private) java.lang.Integer |
portionInput |
(package private) android.widget.EditText |
portions |
(package private) android.widget.EditText |
prepTime |
(package private) java.lang.Integer |
prepTimeInput |
(package private) static int |
REQUEST_GALLERY_PICKER |
(package private) static int |
REQUEST_IMAGE_CAPTURE |
(package private) boolean[] |
selectedTag |
(package private) java.lang.String |
step |
(package private) java.lang.String[] |
tagArray |
(package private) java.util.List<java.lang.String> |
tagInput |
(package private) java.util.ArrayList<java.lang.String> |
tagList |
(package private) android.widget.TextView |
tagSelectorTv |
DEFAULT_KEYS_DIALER, DEFAULT_KEYS_DISABLE, DEFAULT_KEYS_SEARCH_GLOBAL, DEFAULT_KEYS_SEARCH_LOCAL, DEFAULT_KEYS_SHORTCUT, FOCUSED_STATE_SET, RESULT_CANCELED, RESULT_FIRST_USER, RESULT_OK
ACCESSIBILITY_SERVICE, ACCOUNT_SERVICE, ACTIVITY_SERVICE, ALARM_SERVICE, APP_OPS_SERVICE, APPWIDGET_SERVICE, AUDIO_SERVICE, BATTERY_SERVICE, BIND_ABOVE_CLIENT, BIND_ADJUST_WITH_ACTIVITY, BIND_ALLOW_OOM_MANAGEMENT, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BIND_EXTERNAL_SERVICE, BIND_IMPORTANT, BIND_INCLUDE_CAPABILITIES, BIND_NOT_FOREGROUND, BIND_NOT_PERCEPTIBLE, BIND_WAIVE_PRIORITY, BIOMETRIC_SERVICE, BLOB_STORE_SERVICE, BLUETOOTH_SERVICE, CAMERA_SERVICE, CAPTIONING_SERVICE, CARRIER_CONFIG_SERVICE, CLIPBOARD_SERVICE, COMPANION_DEVICE_SERVICE, CONNECTIVITY_DIAGNOSTICS_SERVICE, CONNECTIVITY_SERVICE, CONSUMER_IR_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESTRICTED, CROSS_PROFILE_APPS_SERVICE, DEVICE_POLICY_SERVICE, DISPLAY_SERVICE, DOWNLOAD_SERVICE, DROPBOX_SERVICE, EUICC_SERVICE, FILE_INTEGRITY_SERVICE, FINGERPRINT_SERVICE, HARDWARE_PROPERTIES_SERVICE, INPUT_METHOD_SERVICE, INPUT_SERVICE, IPSEC_SERVICE, JOB_SCHEDULER_SERVICE, KEYGUARD_SERVICE, LAUNCHER_APPS_SERVICE, LAYOUT_INFLATER_SERVICE, LOCATION_SERVICE, MEDIA_PROJECTION_SERVICE, MEDIA_ROUTER_SERVICE, MEDIA_SESSION_SERVICE, MIDI_SERVICE, MODE_APPEND, MODE_ENABLE_WRITE_AHEAD_LOGGING, MODE_MULTI_PROCESS, MODE_NO_LOCALIZED_COLLATORS, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, NETWORK_STATS_SERVICE, NFC_SERVICE, NOTIFICATION_SERVICE, NSD_SERVICE, POWER_SERVICE, PRINT_SERVICE, RECEIVER_VISIBLE_TO_INSTANT_APPS, RESTRICTIONS_SERVICE, ROLE_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, SHORTCUT_SERVICE, STORAGE_SERVICE, STORAGE_STATS_SERVICE, SYSTEM_HEALTH_SERVICE, TELECOM_SERVICE, TELEPHONY_IMS_SERVICE, TELEPHONY_SERVICE, TELEPHONY_SUBSCRIPTION_SERVICE, TEXT_CLASSIFICATION_SERVICE, TEXT_SERVICES_MANAGER_SERVICE, TV_INPUT_SERVICE, UI_MODE_SERVICE, USAGE_STATS_SERVICE, USB_SERVICE, USER_SERVICE, VIBRATOR_SERVICE, VPN_MANAGEMENT_SERVICE, WALLPAPER_SERVICE, WIFI_AWARE_SERVICE, WIFI_P2P_SERVICE, WIFI_RTT_RANGING_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
Constructor and Description |
---|
ActivityAddRecipe() |
Modifier and Type | Method and Description |
---|---|
private void |
addIngredientRow()
Adds an ingredient row to the ui with empty fields to fill
REFERENCES
https://www.youtube.com/watch?v=EJrmgJT2NnI&ab_channel=DroidGuru
|
private void |
addInstructionRow()
Adds an instructions row to the ui with an empty field to fill.
|
private void |
addNewRecipeWithIngredients()
This function adds a new recipe to the room database or modifies an existing one
|
private boolean |
checkDataValidity()
Checks if data received from fields matches the requirements of the recipe to be complete.
|
private void |
connectWidgets()
This function is called in onCreate
All the widgets are connected to the xml ids
All the onClickListeners are set up
|
private void |
fillInContents(RecipeWithIngredients recipe)
Fills all fields of the AddRecipeActivity with the data of the recipe to be edited.
|
android.net.Uri |
getImageUri(android.content.Context context,
android.graphics.Bitmap inImage)
This getImageUri function first changes Bitmap image into Stream bytes.
|
private boolean |
modified(RecipeWithIngredients recipeToModify,
RecipeWithIngredients modifiedRecipe)
Checks whether recipe was modified
|
protected void |
onActivityResult(int requestCode,
int resultCode,
android.content.Intent imageReturnedIntent)
This function is the result after user selects photo.
|
void |
onClick(android.view.View v)
This function is called when user clicks any of the buttons available
|
protected void |
onCreate(android.os.Bundle savedInstanceState) |
void |
onItemSelected(android.widget.AdapterView<?> parent,
android.view.View view,
int position,
long id)
This function is called when the user selects a difficulty rating
|
void |
onNothingSelected(android.widget.AdapterView<?> parent)
This function is called when the user does not select a difficulty rating
|
boolean |
onSupportNavigateUp()
This function is called when the user presses the back button
Pressing the back button on the action bar will take the user back to the previous activity
|
private void |
presetAddFilledIngredientRows(java.util.List<Ingredient> ingredients)
Fills ingredient rows with ingredients of the recipe to be edited.
|
private void |
presetAddFilledInstructionRows(java.util.List<java.lang.String> instructions)
Fills rows of instructions with the data of the recipe to be edited.
|
private void |
presetDifficulty(java.lang.String levelOfDifficulty)
Sets difficulty from the recipe to be edited.
|
private void |
removeIngredientRow(android.view.View view)
Removes ingredient row from the ui
|
private void |
removeInstructionRow(android.view.View view)
Removes instructions row from the ui
|
private void |
selectPhoto()
This function is called when user click imageButton in order to choose photo.
|
private void |
selectTags()
This function is called when the user clicks on the tag selector
Upon clicking, the user is taken to a pop-up view where they can select multiple tags
After selecting the tags, those will be saved inside an array
REFERENCES
https://www.youtube.com/watch?v=XrDVu3uPY3o&ab_channel=AndroidCoding
|
addContentView, attachBaseContext, closeOptionsMenu, dispatchKeyEvent, findViewById, getDelegate, getDrawerToggleDelegate, getMenuInflater, getResources, getSupportActionBar, getSupportParentActivityIntent, invalidateOptionsMenu, onConfigurationChanged, onContentChanged, onCreateSupportNavigateUpTaskStack, onDestroy, onKeyDown, onMenuItemSelected, onMenuOpened, onNightModeChanged, onPanelClosed, onPostCreate, onPostResume, onPrepareSupportNavigateUpTaskStack, onSaveInstanceState, onStart, onStop, onSupportActionModeFinished, onSupportActionModeStarted, onSupportContentChanged, onTitleChanged, onWindowStartingSupportActionMode, openOptionsMenu, setContentView, setContentView, setContentView, setSupportActionBar, setSupportProgress, setSupportProgressBarIndeterminate, setSupportProgressBarIndeterminateVisibility, setSupportProgressBarVisibility, setTheme, startSupportActionMode, supportInvalidateOptionsMenu, supportNavigateUpTo, supportRequestWindowFeature, supportShouldUpRecreateTask
dump, getSupportFragmentManager, getSupportLoaderManager, onAttachFragment, onCreatePanelMenu, onCreateView, onCreateView, onLowMemory, onMultiWindowModeChanged, onNewIntent, onPause, onPictureInPictureModeChanged, onPrepareOptionsPanel, onPreparePanel, onRequestPermissionsResult, onResume, onResumeFragments, onStateNotSaved, setEnterSharedElementCallback, setExitSharedElementCallback, startActivityForResult, startActivityForResult, startActivityFromFragment, startActivityFromFragment, startIntentSenderForResult, startIntentSenderForResult, startIntentSenderFromFragment, supportFinishAfterTransition, supportPostponeEnterTransition, supportStartPostponedEnterTransition, validateRequestPermissionsRequestCode
getLastCustomNonConfigurationInstance, getLifecycle, getOnBackPressedDispatcher, getSavedStateRegistry, getViewModelStore, onBackPressed, onRetainCustomNonConfigurationInstance, onRetainNonConfigurationInstance
dispatchKeyShortcutEvent, getExtraData, putExtraData, superDispatchKeyEvent
closeContextMenu, createPendingResult, dismissDialog, dismissKeyboardShortcutsHelper, dispatchGenericMotionEvent, dispatchPopulateAccessibilityEvent, dispatchTouchEvent, dispatchTrackballEvent, enterPictureInPictureMode, enterPictureInPictureMode, finish, finishActivity, finishActivityFromChild, finishAffinity, finishAfterTransition, finishAndRemoveTask, finishFromChild, getActionBar, getApplication, getCallingActivity, getCallingPackage, getChangingConfigurations, getComponentName, getContentScene, getContentTransitionManager, getCurrentFocus, getFragmentManager, getIntent, getLastNonConfigurationInstance, getLayoutInflater, getLoaderManager, getLocalClassName, getMaxNumPictureInPictureActions, getMediaController, getParent, getParentActivityIntent, getPreferences, getReferrer, getRequestedOrientation, getSearchEvent, getSystemService, getTaskId, getTitle, getTitleColor, getVoiceInteractor, getVolumeControlStream, getWindow, getWindowManager, hasWindowFocus, isActivityTransitionRunning, isChangingConfigurations, isChild, isDestroyed, isFinishing, isImmersive, isInMultiWindowMode, isInPictureInPictureMode, isLocalVoiceInteractionSupported, isTaskRoot, isVoiceInteraction, isVoiceInteractionRoot, managedQuery, moveTaskToBack, navigateUpTo, navigateUpToFromChild, onActionModeFinished, onActionModeStarted, onActivityReenter, onApplyThemeResource, onAttachedToWindow, onAttachFragment, onChildTitleChanged, onContextItemSelected, onContextMenuClosed, onCreate, onCreateContextMenu, onCreateDescription, onCreateDialog, onCreateDialog, onCreateNavigateUpTaskStack, onCreateOptionsMenu, onCreatePanelView, onCreateThumbnail, onDetachedFromWindow, onEnterAnimationComplete, onGenericMotionEvent, onGetDirectActions, onKeyLongPress, onKeyMultiple, onKeyShortcut, onKeyUp, onLocalVoiceInteractionStarted, onLocalVoiceInteractionStopped, onMultiWindowModeChanged, onNavigateUp, onNavigateUpFromChild, onOptionsItemSelected, onOptionsMenuClosed, onPerformDirectAction, onPictureInPictureModeChanged, onPictureInPictureRequested, onPostCreate, onPrepareDialog, onPrepareDialog, onPrepareNavigateUpTaskStack, onPrepareOptionsMenu, onProvideAssistContent, onProvideAssistData, onProvideKeyboardShortcuts, onProvideReferrer, onRestart, onRestoreInstanceState, onRestoreInstanceState, onSaveInstanceState, onSearchRequested, onSearchRequested, onTopResumedActivityChanged, onTouchEvent, onTrackballEvent, onTrimMemory, onUserInteraction, onUserLeaveHint, onVisibleBehindCanceled, onWindowAttributesChanged, onWindowFocusChanged, onWindowStartingActionMode, onWindowStartingActionMode, openContextMenu, overridePendingTransition, postponeEnterTransition, recreate, registerActivityLifecycleCallbacks, registerForContextMenu, releaseInstance, removeDialog, reportFullyDrawn, requestDragAndDropPermissions, requestPermissions, requestShowKeyboardShortcuts, requestVisibleBehind, requestWindowFeature, requireViewById, runOnUiThread, setActionBar, setContentTransitionManager, setDefaultKeyMode, setEnterSharedElementCallback, setExitSharedElementCallback, setFeatureDrawable, setFeatureDrawableAlpha, setFeatureDrawableResource, setFeatureDrawableUri, setFinishOnTouchOutside, setImmersive, setInheritShowWhenLocked, setIntent, setLocusContext, setMediaController, setPictureInPictureParams, setProgress, setProgressBarIndeterminate, setProgressBarIndeterminateVisibility, setProgressBarVisibility, setRequestedOrientation, setResult, setResult, setSecondaryProgress, setShowWhenLocked, setTaskDescription, setTitle, setTitle, setTitleColor, setTranslucent, setTurnScreenOn, setVisible, setVolumeControlStream, setVrModeEnabled, shouldShowRequestPermissionRationale, shouldUpRecreateTask, showAssist, showDialog, showDialog, showLockTaskEscapeMessage, startActionMode, startActionMode, startActivities, startActivities, startActivity, startActivity, startActivityFromChild, startActivityFromChild, startActivityFromFragment, startActivityFromFragment, startActivityIfNeeded, startActivityIfNeeded, startIntentSender, startIntentSender, startIntentSenderFromChild, startIntentSenderFromChild, startLocalVoiceInteraction, startLockTask, startManagingCursor, startNextMatchingActivity, startNextMatchingActivity, startPostponedEnterTransition, startSearch, stopLocalVoiceInteraction, stopLockTask, stopManagingCursor, takeKeyEvents, triggerSearch, unregisterActivityLifecycleCallbacks, unregisterForContextMenu
applyOverrideConfiguration, getAssets, getTheme, setTheme
bindIsolatedService, bindService, bindService, bindServiceAsUser, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingPermission, checkCallingUriPermission, checkPermission, checkSelfPermission, checkUriPermission, checkUriPermission, clearWallpaper, createAttributionContext, createConfigurationContext, createContextForSplit, createDeviceProtectedStorageContext, createDisplayContext, createPackageContext, createWindowContext, databaseList, deleteDatabase, deleteFile, deleteSharedPreferences, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getAttributionTag, getBaseContext, getCacheDir, getClassLoader, getCodeCacheDir, getContentResolver, getDatabasePath, getDataDir, getDir, getDisplay, getExternalCacheDir, getExternalCacheDirs, getExternalFilesDir, getExternalFilesDirs, getExternalMediaDirs, getFilesDir, getFileStreamPath, getMainExecutor, getMainLooper, getNoBackupFilesDir, getObbDir, getObbDirs, getOpPackageName, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getSharedPreferences, getSystemServiceName, getWallpaper, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, grantUriPermission, isDeviceProtectedStorage, isRestricted, moveDatabaseFrom, moveSharedPreferencesFrom, openFileInput, openFileOutput, openOrCreateDatabase, openOrCreateDatabase, peekWallpaper, registerReceiver, registerReceiver, registerReceiver, registerReceiver, removeStickyBroadcast, removeStickyBroadcastAsUser, revokeUriPermission, revokeUriPermission, sendBroadcast, sendBroadcast, sendBroadcastAsUser, sendBroadcastAsUser, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcastAsUser, sendStickyBroadcast, sendStickyBroadcastAsUser, sendStickyOrderedBroadcast, sendStickyOrderedBroadcastAsUser, setWallpaper, setWallpaper, startForegroundService, startInstrumentation, startService, stopService, unbindService, unregisterReceiver, updateServiceGroup
getColor, getColorStateList, getDrawable, getString, getString, getSystemService, getText, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, registerComponentCallbacks, sendBroadcastWithMultiplePermissions, unregisterComponentCallbacks
private static final java.lang.String ACTIVITY_ADD_RECIPE
static final int REQUEST_IMAGE_CAPTURE
static final int REQUEST_GALLERY_PICKER
private static final java.lang.String EDIT_RECIPE_ID_KEY
RecipeWithIngredients editedRecipe
boolean editing
android.widget.LinearLayout ingredientListLayout
android.widget.LinearLayout instructionListLayout
android.widget.TextView tagSelectorTv
android.widget.TextView ingredient
android.widget.EditText name
android.widget.EditText author
android.widget.EditText portions
android.widget.EditText prepTime
android.widget.Button addIngredientButton
android.widget.Button addInstructionButton
android.widget.Button addRecipeButton
android.widget.ImageButton addPhotoPlaceholder
java.lang.String nameInput
java.lang.String step
java.lang.String authorInput
java.lang.String levelOfDifficultyInput
java.lang.String ingredientNameInput
java.lang.String ingredientMeasureInput
java.lang.String photoInput
java.lang.Integer portionInput
java.lang.Integer prepTimeInput
java.lang.Double ingredientAmountInput
java.util.List<java.lang.String> instructions
java.util.List<Ingredient> ingredients
Recipe myOwnRecipe
java.lang.String[] tagArray
java.util.ArrayList<java.lang.String> tagList
boolean[] selectedTag
java.util.List<java.lang.String> tagInput
protected void onCreate(android.os.Bundle savedInstanceState)
onCreate
in class androidx.appcompat.app.AppCompatActivity
private void connectWidgets()
private void selectTags()
public boolean onSupportNavigateUp()
onSupportNavigateUp
in class androidx.appcompat.app.AppCompatActivity
public void onItemSelected(android.widget.AdapterView<?> parent, android.view.View view, int position, long id)
onItemSelected
in interface android.widget.AdapterView.OnItemSelectedListener
public void onNothingSelected(android.widget.AdapterView<?> parent)
onNothingSelected
in interface android.widget.AdapterView.OnItemSelectedListener
public void onClick(android.view.View v)
onClick
in interface android.view.View.OnClickListener
private void selectPhoto()
protected void onActivityResult(int requestCode, int resultCode, android.content.Intent imageReturnedIntent)
onActivityResult
in class androidx.fragment.app.FragmentActivity
requestCode
- to identify from which intent is came back fromresultCode
- the photo user has chosenimageReturnedIntent
- intent activity after user chosen an optionpublic android.net.Uri getImageUri(android.content.Context context, android.graphics.Bitmap inImage)
context
- contextinImage
- Bitmap of the image user chosenprivate void addNewRecipeWithIngredients()
private boolean checkDataValidity()
private void addIngredientRow()
private void addInstructionRow()
private void removeIngredientRow(android.view.View view)
view
- Ingredient row to deleteprivate void removeInstructionRow(android.view.View view)
view
- Instructions row to deleteprivate void fillInContents(RecipeWithIngredients recipe)
recipe
- Recipe to editprivate void presetAddFilledInstructionRows(java.util.List<java.lang.String> instructions)
instructions
- Instructions to fill in.private void presetAddFilledIngredientRows(java.util.List<Ingredient> ingredients)
ingredients
- Ingredients to fill inprivate void presetDifficulty(java.lang.String levelOfDifficulty)
levelOfDifficulty
- difficulty to setprivate boolean modified(RecipeWithIngredients recipeToModify, RecipeWithIngredients modifiedRecipe)
recipeToModify
- Recipe chosen to modifymodifiedRecipe
- Recipe created from fields data