Class PayActivity

  • All Implemented Interfaces:
    android.content.ComponentCallbacks, android.content.ComponentCallbacks2, android.view.KeyEvent.Callback, android.view.LayoutInflater.Factory, android.view.LayoutInflater.Factory2, android.view.View.OnCreateContextMenuListener, android.view.Window.Callback, androidx.activity.contextaware.ContextAware, androidx.activity.OnBackPressedDispatcherOwner, androidx.activity.result.ActivityResultCaller, androidx.activity.result.ActivityResultRegistryOwner, androidx.appcompat.app.ActionBarDrawerToggle.DelegateProvider, androidx.appcompat.app.AppCompatCallback, androidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback, androidx.core.app.ActivityCompat.RequestPermissionsRequestCodeValidator, androidx.core.app.TaskStackBuilder.SupportParentable, androidx.core.view.KeyEventDispatcher.Component, androidx.lifecycle.HasDefaultViewModelProviderFactory, androidx.lifecycle.LifecycleOwner, androidx.lifecycle.ViewModelStoreOwner, androidx.savedstate.SavedStateRegistryOwner

    public class PayActivity
    extends UosActivity
    QR코드를 인식 후 데이터를 추출하는 Activity.
    xml: activity_qrrecognition.xml

    Intent로 전달된 BasketManager로 결제될 상품들에 대한 정보를 표시합니다. 장바구니 목록 아래에는 카드정보를 입력하는 란이 있으며 하단에 있는 결제하기 버튼을 누를 시 주문이 진행됩니다.
    Since:
    1.0.0
    Author:
    Sohn Young Jin
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private class  PayActivity.GetCard
      카드정보를 외부서버로부터 불러옵니다.
      • Nested classes/interfaces inherited from class androidx.core.app.ComponentActivity

        androidx.core.app.ComponentActivity.ExtraData
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private BasketManager basketManager
      Intent로 전달된 BasketManager.
      private CardItem cardItem
      카드정보를 담고 있는 CardItem.
      private androidx.constraintlayout.widget.ConstraintLayout clPayCard
      터치 시 카드정보를 수정할 수 있는 ConstraintLayout.
      private androidx.constraintlayout.widget.ConstraintLayout clPayPay
      터치 시 결제를 진행하는 ConstraintLayout.
      private androidx.appcompat.widget.AppCompatImageButton ibtnPayBack
      결제 Activity를 종료하는 AppCompatImageButton.
      private androidx.appcompat.widget.AppCompatImageView ivPayCardBackground
      카드 배경을 표시하는 AppCompatImageView.
      private PayAdapter payAdapter
      결제할 장바구니 목록을 관리하는 PayAdapter.
      private androidx.core.widget.ContentLoadingProgressBar pbPayLoading
      결제 진행 시 표시할 ContentLoadingProgressBar.
      private androidx.recyclerview.widget.RecyclerView rvPayOrderList
      장바구니에 있는 목록을 보여주는 RecyclerView.
      private com.google.android.material.textfield.TextInputLayout tilPayCardPw
      카드 비밀번호 입력란 TextInputLayout.
      private androidx.appcompat.widget.AppCompatTextView tvPayCardNum
      카드번호를 표시하는 AppCompatTextView.
      private androidx.appcompat.widget.AppCompatTextView tvPayCompanyName
      주문하려는 매장명(회사명)을 표시하는 AppCompatTextView.
      private androidx.appcompat.widget.AppCompatTextView tvPayNoCard
      카드가 없을 때 보일 문자열을 담고 있는 AppCompatTextView.
      private androidx.appcompat.widget.AppCompatTextView tvPayPay
      결제 전 버튼에 표시할 AppCompatTextView.
      private androidx.appcompat.widget.AppCompatTextView tvPayTotalPrice
      결제할 총 금액을 표시하는 AppCompatTextView.
      private androidx.appcompat.widget.AppCompatTextView tvPayUserName
      사용자 이름을 표시하는 AppCompatTextView.
      • Fields inherited from class android.app.Activity

        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
      • Fields inherited from class android.content.Context

        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
      • Fields inherited from interface android.content.ComponentCallbacks2

        TRIM_MEMORY_BACKGROUND, TRIM_MEMORY_COMPLETE, TRIM_MEMORY_MODERATE, TRIM_MEMORY_RUNNING_CRITICAL, TRIM_MEMORY_RUNNING_LOW, TRIM_MEMORY_RUNNING_MODERATE, TRIM_MEMORY_UI_HIDDEN
    • Constructor Summary

      Constructors 
      Constructor Description
      PayActivity()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void checkPayEnable()
      결제가 가능한 상태인지 확인합니다.
      protected void init()
      Activity 실행 시 최초 실행해야하는 코드 및 변수 초기화를 담당하고 있는 함수입니다. onCreate() 함수의 가장 마지막에서 실행됩니다.
      private void removeCardData()
      카드정보를 PayActivity에서 표시하지 않습니다.
      private void setCardData​(java.lang.String cardNum)
      카드정보를 PayActivity에 표시합니다.
      • Methods inherited from class androidx.appcompat.app.AppCompatActivity

        addContentView, attachBaseContext, closeOptionsMenu, dispatchKeyEvent, findViewById, getDelegate, getDrawerToggleDelegate, getMenuInflater, getResources, getSupportActionBar, getSupportParentActivityIntent, invalidateOptionsMenu, onConfigurationChanged, onContentChanged, onCreateSupportNavigateUpTaskStack, onKeyDown, onMenuItemSelected, onMenuOpened, onNightModeChanged, onPanelClosed, onPostCreate, onPostResume, onPrepareSupportNavigateUpTaskStack, onStart, onStop, onSupportActionModeFinished, onSupportActionModeStarted, onSupportContentChanged, onSupportNavigateUp, onTitleChanged, onWindowStartingSupportActionMode, openOptionsMenu, setContentView, setContentView, setContentView, setSupportActionBar, setSupportProgress, setSupportProgressBarIndeterminate, setSupportProgressBarIndeterminateVisibility, setSupportProgressBarVisibility, setTheme, startSupportActionMode, supportInvalidateOptionsMenu, supportNavigateUpTo, supportRequestWindowFeature, supportShouldUpRecreateTask
      • Methods inherited from class androidx.fragment.app.FragmentActivity

        dump, getSupportFragmentManager, getSupportLoaderManager, onActivityResult, onAttachFragment, onCreatePanelMenu, onCreateView, onCreateView, onLowMemory, onMultiWindowModeChanged, onNewIntent, onPause, onPictureInPictureModeChanged, onPrepareOptionsPanel, onPreparePanel, onRequestPermissionsResult, onResume, onResumeFragments, onStateNotSaved, setEnterSharedElementCallback, setExitSharedElementCallback, startActivityFromFragment, startActivityFromFragment, startIntentSenderFromFragment, supportFinishAfterTransition, supportPostponeEnterTransition, supportStartPostponedEnterTransition, validateRequestPermissionsRequestCode
      • Methods inherited from class androidx.activity.ComponentActivity

        addOnContextAvailableListener, getActivityResultRegistry, getDefaultViewModelProviderFactory, getLastCustomNonConfigurationInstance, getLifecycle, getOnBackPressedDispatcher, getSavedStateRegistry, getViewModelStore, onBackPressed, onRetainCustomNonConfigurationInstance, onRetainNonConfigurationInstance, onSaveInstanceState, peekAvailableContext, registerForActivityResult, registerForActivityResult, removeOnContextAvailableListener, reportFullyDrawn, startActivityForResult, startActivityForResult, startIntentSenderForResult, startIntentSenderForResult
      • Methods inherited from class androidx.core.app.ComponentActivity

        dispatchKeyShortcutEvent, getExtraData, putExtraData, superDispatchKeyEvent
      • Methods inherited from class android.app.Activity

        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, 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
      • Methods inherited from class android.view.ContextThemeWrapper

        applyOverrideConfiguration, getAssets, getTheme, setTheme
      • Methods inherited from class android.content.ContextWrapper

        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
      • Methods inherited from class android.content.Context

        getColor, getColorStateList, getDrawable, getString, getString, getSystemService, getText, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, registerComponentCallbacks, sendBroadcastWithMultiplePermissions, unregisterComponentCallbacks
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface android.view.Window.Callback

        onPointerCaptureChanged
    • Field Detail

      • ibtnPayBack

        private androidx.appcompat.widget.AppCompatImageButton ibtnPayBack
        결제 Activity를 종료하는 AppCompatImageButton.
      • tvPayCompanyName

        private androidx.appcompat.widget.AppCompatTextView tvPayCompanyName
        주문하려는 매장명(회사명)을 표시하는 AppCompatTextView.
      • rvPayOrderList

        private androidx.recyclerview.widget.RecyclerView rvPayOrderList
        장바구니에 있는 목록을 보여주는 RecyclerView.
      • tvPayTotalPrice

        private androidx.appcompat.widget.AppCompatTextView tvPayTotalPrice
        결제할 총 금액을 표시하는 AppCompatTextView.
      • tvPayNoCard

        private androidx.appcompat.widget.AppCompatTextView tvPayNoCard
        카드가 없을 때 보일 문자열을 담고 있는 AppCompatTextView.
      • clPayCard

        private androidx.constraintlayout.widget.ConstraintLayout clPayCard
        터치 시 카드정보를 수정할 수 있는 ConstraintLayout.
      • ivPayCardBackground

        private androidx.appcompat.widget.AppCompatImageView ivPayCardBackground
        카드 배경을 표시하는 AppCompatImageView.
      • tvPayUserName

        private androidx.appcompat.widget.AppCompatTextView tvPayUserName
        사용자 이름을 표시하는 AppCompatTextView.
      • tvPayCardNum

        private androidx.appcompat.widget.AppCompatTextView tvPayCardNum
        카드번호를 표시하는 AppCompatTextView.
      • tilPayCardPw

        private com.google.android.material.textfield.TextInputLayout tilPayCardPw
        카드 비밀번호 입력란 TextInputLayout.
      • clPayPay

        private androidx.constraintlayout.widget.ConstraintLayout clPayPay
        터치 시 결제를 진행하는 ConstraintLayout.
      • tvPayPay

        private androidx.appcompat.widget.AppCompatTextView tvPayPay
        결제 전 버튼에 표시할 AppCompatTextView.
      • pbPayLoading

        private androidx.core.widget.ContentLoadingProgressBar pbPayLoading
        결제 진행 시 표시할 ContentLoadingProgressBar.
      • payAdapter

        private PayAdapter payAdapter
        결제할 장바구니 목록을 관리하는 PayAdapter.
      • cardItem

        private CardItem cardItem
        카드정보를 담고 있는 CardItem.
      • basketManager

        private BasketManager basketManager
        Intent로 전달된 BasketManager.
    • Constructor Detail

      • PayActivity

        public PayActivity()
    • Method Detail

      • init

        protected void init()
        Description copied from class: UosActivity
        Activity 실행 시 최초 실행해야하는 코드 및 변수 초기화를 담당하고 있는 함수입니다. onCreate() 함수의 가장 마지막에서 실행됩니다.
        Specified by:
        init in class UosActivity
      • checkPayEnable

        public void checkPayEnable()
        결제가 가능한 상태인지 확인합니다. 카드정보가 등록되어있는지, 카드 비밀번호가 입력 패턴에 맞는지 확인하며 조건을 모두 만족시킬 경우 결제버튼을 활성화, 그렇지 않을 경우 비활성화시킵니다.
      • setCardData

        private void setCardData​(java.lang.String cardNum)
        카드정보를 PayActivity에 표시합니다. 카드정보를 성공적으로 불러왔을 때 사용합니다.
        Parameters:
        cardNum - 카드번호.
      • removeCardData

        private void removeCardData()
        카드정보를 PayActivity에서 표시하지 않습니다. 등록된 카드정보가 없거나 카드정보를 불러오는 도중 오류가 발생했을 때 사용합니다.