├── .gitignore
├── .idea
├── .gitignore
├── .name
├── compiler.xml
├── dictionaries
│ └── 28821.xml
├── gradle.xml
├── jarRepositories.xml
├── misc.xml
└── vcs.xml
├── README.md
├── app
├── .gitignore
├── build.gradle
├── build.properties
├── factory_test_config.json
├── libs
│ ├── NativeAudioRecord-release-1.0.0.aar
│ ├── nd01sdk-release-v1.0.2.aar
│ └── tbapi-release_1.0.13.aar
├── proguard-rules.pro
├── src
│ ├── androidTest
│ │ └── java
│ │ │ └── com
│ │ │ └── ayst
│ │ │ └── factorytest
│ │ │ └── ExampleInstrumentedTest.java
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ │ └── bin
│ │ │ │ ├── iperf
│ │ │ │ └── iperf3
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ayst
│ │ │ │ └── factorytest
│ │ │ │ ├── App.java
│ │ │ │ ├── MainActivity.java
│ │ │ │ ├── adapter
│ │ │ │ ├── GpioItemAdapter.java
│ │ │ │ ├── KeyItemAdapter.java
│ │ │ │ ├── LedItemAdapter.java
│ │ │ │ ├── NarItemAdapter.java
│ │ │ │ ├── PwmItemAdapter.java
│ │ │ │ ├── StringItemAdapter.java
│ │ │ │ ├── TestItemAdapter.java
│ │ │ │ ├── UartItemAdapter.java
│ │ │ │ └── WifiListAdapter.java
│ │ │ │ ├── base
│ │ │ │ ├── BaseActivity.java
│ │ │ │ └── ChildTestActivity.java
│ │ │ │ ├── data
│ │ │ │ ├── TestItemManager.java
│ │ │ │ └── TestResultExport.java
│ │ │ │ ├── items
│ │ │ │ ├── AccSensorActivity.java
│ │ │ │ ├── BacklightTestActivity.java
│ │ │ │ ├── BatteryTestActivity.java
│ │ │ │ ├── BluetoothTestActivity.java
│ │ │ │ ├── CameraTestActivity.java
│ │ │ │ ├── EthernetTestActivity.java
│ │ │ │ ├── GpioTestActivity.java
│ │ │ │ ├── HumanSensorActivity.java
│ │ │ │ ├── InfoTestActivity.java
│ │ │ │ ├── KeyTestActivity.java
│ │ │ │ ├── LcdTestActivity.java
│ │ │ │ ├── LedTestActivity.java
│ │ │ │ ├── LightSensorActivity.java
│ │ │ │ ├── MobileNetTestActivity.java
│ │ │ │ ├── ND01TestActivity.java
│ │ │ │ ├── NarTestActivity.java
│ │ │ │ ├── PwmTestActivity.java
│ │ │ │ ├── RecordTestActivity.java
│ │ │ │ ├── RegularBootTestActivity.java
│ │ │ │ ├── SdcardTestActivity.java
│ │ │ │ ├── SpeakerTestActivity.java
│ │ │ │ ├── TemperatureSensorTestActivity.java
│ │ │ │ ├── TouchTestActivity.java
│ │ │ │ ├── UartTestActivity.java
│ │ │ │ ├── UsbTestActivity.java
│ │ │ │ ├── WatchdogTestActivity.java
│ │ │ │ ├── WiFiTransferTestActivity.java
│ │ │ │ ├── WiegandTestActivity.java
│ │ │ │ └── WifiTestActivity.java
│ │ │ │ ├── model
│ │ │ │ ├── GpioItem.java
│ │ │ │ ├── KeyItem.java
│ │ │ │ ├── LedItem.java
│ │ │ │ ├── ND01Param.java
│ │ │ │ ├── NarParam.java
│ │ │ │ ├── PwmItem.java
│ │ │ │ ├── ResultEvent.java
│ │ │ │ ├── TestItem.java
│ │ │ │ ├── UartItem.java
│ │ │ │ ├── WiFiParam.java
│ │ │ │ ├── WiFiTransferParam.java
│ │ │ │ └── WiegandParam.java
│ │ │ │ ├── utils
│ │ │ │ ├── AppUtils.java
│ │ │ │ ├── DataConversion.java
│ │ │ │ ├── Mcu.java
│ │ │ │ └── SPUtils.java
│ │ │ │ └── view
│ │ │ │ └── TouchTestView.java
│ │ └── res
│ │ │ ├── drawable-v24
│ │ │ └── ic_launcher_foreground.xml
│ │ │ ├── drawable
│ │ │ ├── bg_container.xml
│ │ │ ├── bg_recyclerview.xml
│ │ │ ├── bg_state_normal.xml
│ │ │ ├── bg_state_selected.xml
│ │ │ ├── bg_state_selector.xml
│ │ │ ├── btn_fail_normal.xml
│ │ │ ├── btn_fail_pressed.xml
│ │ │ ├── btn_fail_selector.xml
│ │ │ ├── btn_start_normal.xml
│ │ │ ├── btn_start_pressed.xml
│ │ │ ├── btn_start_selector.xml
│ │ │ ├── btn_success_normal.xml
│ │ │ ├── btn_success_pressed.xml
│ │ │ ├── btn_success_selector.xml
│ │ │ ├── btn_text_selector.xml
│ │ │ ├── btn_touch_normal.xml
│ │ │ ├── btn_touch_selected.xml
│ │ │ ├── btn_touch_selector.xml
│ │ │ ├── edt_line.xml
│ │ │ └── ic_launcher_background.xml
│ │ │ ├── layout-port
│ │ │ ├── activity_child_base.xml
│ │ │ └── content_temperature_sensor_test.xml
│ │ │ ├── layout
│ │ │ ├── activity_child_base.xml
│ │ │ ├── activity_main.xml
│ │ │ ├── content_acc_sensor.xml
│ │ │ ├── content_backlight_test.xml
│ │ │ ├── content_battery_test.xml
│ │ │ ├── content_bluetooth_test.xml
│ │ │ ├── content_camera_test.xml
│ │ │ ├── content_ethernet_test.xml
│ │ │ ├── content_gpio_test.xml
│ │ │ ├── content_human_sensor.xml
│ │ │ ├── content_info_test.xml
│ │ │ ├── content_key_test.xml
│ │ │ ├── content_lcd_test.xml
│ │ │ ├── content_led_test.xml
│ │ │ ├── content_light_sensor.xml
│ │ │ ├── content_mic_test.xml
│ │ │ ├── content_modem_test.xml
│ │ │ ├── content_nar_test.xml
│ │ │ ├── content_nd01_test.xml
│ │ │ ├── content_pwm_test.xml
│ │ │ ├── content_regular_boot_test.xml
│ │ │ ├── content_sdcard_test.xml
│ │ │ ├── content_speaker_test.xml
│ │ │ ├── content_temperature_sensor_test.xml
│ │ │ ├── content_touch_test.xml
│ │ │ ├── content_uart_test.xml
│ │ │ ├── content_usb_test.xml
│ │ │ ├── content_watchdog_test.xml
│ │ │ ├── content_wiegand_test.xml
│ │ │ ├── content_wifi_test.xml
│ │ │ ├── content_wifi_transfer_test.xml
│ │ │ ├── device_item.xml
│ │ │ ├── layout_rv_item.xml
│ │ │ ├── layout_test_item.xml
│ │ │ └── wifi_list_item.xml
│ │ │ ├── mipmap-hdpi
│ │ │ ├── ic_close.png
│ │ │ ├── ic_device.png
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ ├── ic_wait_0.png
│ │ │ ├── ic_wait_1.png
│ │ │ ├── ic_wait_2.png
│ │ │ ├── ic_wait_3.png
│ │ │ ├── ic_wait_4.png
│ │ │ ├── ic_wait_5.png
│ │ │ ├── ic_wait_6.png
│ │ │ ├── ic_wait_7.png
│ │ │ ├── ic_wait_8.png
│ │ │ ├── ic_wifi_0.png
│ │ │ ├── ic_wifi_1.png
│ │ │ ├── ic_wifi_2.png
│ │ │ ├── ic_wifi_3.png
│ │ │ ├── ic_wifi_connected.png
│ │ │ └── ic_wifi_pwd.png
│ │ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── raw
│ │ │ └── play.mp3
│ │ │ ├── values-sw480dp
│ │ │ └── dimens.xml
│ │ │ ├── values-sw600dp
│ │ │ └── dimens.xml
│ │ │ ├── values-xhdpi
│ │ │ └── dimens.xml
│ │ │ ├── values-zh
│ │ │ └── strings.xml
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── strings.xml
│ │ │ └── themes.xml
│ └── test
│ │ └── java
│ │ └── com
│ │ └── ayst
│ │ └── factorytest
│ │ └── ExampleUnitTest.java
└── system.keystore
├── build.gradle
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── screenshots
├── home.png
├── microphone.png
├── result.png
└── touch.png
├── serialport
├── .gitignore
├── CMakeLists.txt
├── build.gradle
├── proguard-rules.pro
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── cpp
│ ├── SerialPort.c
│ ├── SerialPort.h
│ └── gen_SerialPort_h.sh
│ ├── java
│ └── android
│ │ └── serialport
│ │ ├── SerialPort.java
│ │ └── SerialPortFinder.java
│ └── res
│ └── values
│ └── strings.xml
├── settings.gradle
└── xui
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
└── main
├── AndroidManifest.xml
├── java
└── com
│ └── xuexiang
│ └── xui
│ ├── UIConfig.java
│ ├── UIConsts.java
│ ├── XUI.java
│ ├── XUIInitProvider.java
│ ├── adapter
│ ├── FragmentAdapter.java
│ ├── FragmentStateAdapter.java
│ ├── listview
│ │ ├── BaseListAdapter.java
│ │ └── XListAdapter.java
│ ├── recyclerview
│ │ ├── BaseRecyclerAdapter.java
│ │ ├── DividerItemDecoration.java
│ │ ├── GridDividerItemDecoration.java
│ │ ├── RecyclerViewHolder.java
│ │ ├── XGridLayoutManager.java
│ │ ├── XLinearLayoutManager.java
│ │ ├── XRecyclerAdapter.java
│ │ └── sticky
│ │ │ ├── FullSpanUtils.java
│ │ │ ├── OnStickyChangedListener.java
│ │ │ ├── StickyHeadContainer.java
│ │ │ └── StickyItemDecoration.java
│ └── simple
│ │ ├── AdapterItem.java
│ │ ├── ExpandableItem.java
│ │ ├── ViewHolder.java
│ │ ├── XUISimpleAdapter.java
│ │ └── XUISimpleExpandableListAdapter.java
│ ├── logs
│ ├── ILogger.java
│ ├── LogcatLogger.java
│ └── UILog.java
│ ├── utils
│ ├── CollectionUtils.java
│ ├── ColorUtils.java
│ ├── CountDownButtonHelper.java
│ ├── DensityUtils.java
│ ├── DeviceUtils.java
│ ├── DividerUtils.java
│ ├── DrawableUtils.java
│ ├── KeyboardUtils.java
│ ├── ResUtils.java
│ ├── SnackbarUtils.java
│ ├── SpanUtils.java
│ ├── StatusBarUtils.java
│ ├── ThemeUtils.java
│ ├── Utils.java
│ ├── ViewUtils.java
│ └── WidgetUtils.java
│ └── widget
│ ├── StickyNestedScrollView.java
│ ├── XUIKeyboardScrollView.java
│ ├── XUIObservableScrollView.java
│ ├── XUIWrapContentExpandableListView.java
│ ├── XUIWrapContentListView.java
│ ├── XUIWrapContentScrollView.java
│ ├── actionbar
│ ├── TitleBar.java
│ └── TitleUtils.java
│ ├── activity
│ ├── BaseGuideActivity.java
│ └── BaseSplashActivity.java
│ ├── alpha
│ ├── IAlphaViewHelper.java
│ ├── XUIAlphaButton.java
│ ├── XUIAlphaFrameLayout.java
│ ├── XUIAlphaImageButton.java
│ ├── XUIAlphaImageView.java
│ ├── XUIAlphaLinearLayout.java
│ ├── XUIAlphaRelativeLayout.java
│ ├── XUIAlphaTextView.java
│ └── XUIAlphaViewHelper.java
│ ├── banner
│ ├── anim
│ │ ├── BaseAnimator.java
│ │ ├── select
│ │ │ ├── RotateEnter.java
│ │ │ └── ZoomInEnter.java
│ │ └── unselect
│ │ │ └── NoAnimExist.java
│ ├── recycler
│ │ ├── BannerLayout.java
│ │ ├── RecyclerViewBannerBase.java
│ │ └── layout
│ │ │ ├── BannerLayoutManager.java
│ │ │ ├── CenterScrollListener.java
│ │ │ ├── CenterSnapHelper.java
│ │ │ └── OverFlyingLayoutManager.java
│ ├── transform
│ │ ├── DepthTransformer.java
│ │ ├── FadeSlideTransformer.java
│ │ ├── FlowTransformer.java
│ │ ├── RotateDownTransformer.java
│ │ ├── RotateUpTransformer.java
│ │ └── ZoomOutSlideTransformer.java
│ └── widget
│ │ ├── banner
│ │ ├── BannerItem.java
│ │ ├── SimpleGuideBanner.java
│ │ ├── SimpleImageBanner.java
│ │ ├── SimpleTextBanner.java
│ │ └── base
│ │ │ ├── BaseBanner.java
│ │ │ ├── BaseImageBanner.java
│ │ │ └── BaseIndicatorBanner.java
│ │ └── loopviewpager
│ │ ├── FixedSpeedScroller.java
│ │ ├── LoopPagerAdapterWrapper.java
│ │ └── LoopViewPager.java
│ ├── behavior
│ ├── AnimateHelper.java
│ ├── BaseBehavior.java
│ ├── BottomNavigationViewBehavior.java
│ ├── FloatingActionButtonBehavior.java
│ ├── ScaleAnimateHelper.java
│ ├── ToolBarBehavior.java
│ └── TranslateAnimateHelper.java
│ ├── button
│ ├── ButtonView.java
│ ├── CountDownButton.java
│ ├── RippleView.java
│ ├── SmoothCheckBox.java
│ ├── SwitchIconView.java
│ ├── roundbutton
│ │ ├── RoundButton.java
│ │ └── RoundDrawable.java
│ ├── shadowbutton
│ │ ├── BaseShadowButton.java
│ │ ├── RippleShadowShadowButton.java
│ │ ├── ShadowButton.java
│ │ └── ShadowImageView.java
│ ├── shinebutton
│ │ ├── PorterImageView.java
│ │ ├── PorterShapeImageView.java
│ │ ├── ShineAnimator.java
│ │ ├── ShineButton.java
│ │ ├── ShineView.java
│ │ └── interpolator
│ │ │ ├── Ease.java
│ │ │ ├── EasingInterpolator.java
│ │ │ └── EasingProvider.java
│ └── switchbutton
│ │ ├── ColorUtils.java
│ │ └── SwitchButton.java
│ ├── dialog
│ ├── BaseDialog.java
│ ├── DialogLoader.java
│ ├── GuideViewDialog.java
│ ├── LoadingDialog.java
│ ├── MiniLoadingDialog.java
│ ├── bottomsheet
│ │ ├── BottomSheet.java
│ │ └── BottomSheetItemView.java
│ ├── materialdialog
│ │ ├── CustomMaterialDialog.java
│ │ ├── DefaultRvAdapter.java
│ │ ├── DialogAction.java
│ │ ├── DialogBase.java
│ │ ├── DialogInit.java
│ │ ├── GravityEnum.java
│ │ ├── MaterialDialog.java
│ │ ├── StackingBehavior.java
│ │ ├── Theme.java
│ │ ├── internal
│ │ │ ├── AllCapsTransformationMethod.java
│ │ │ ├── MDAdapter.java
│ │ │ ├── MDButton.java
│ │ │ ├── MDRootLayout.java
│ │ │ ├── MDTintHelper.java
│ │ │ └── ThemeSingleton.java
│ │ ├── simplelist
│ │ │ ├── MaterialSimpleListAdapter.java
│ │ │ └── MaterialSimpleListItem.java
│ │ └── util
│ │ │ └── RippleHelper.java
│ └── strategy
│ │ ├── IDialogStrategy.java
│ │ ├── InputCallback.java
│ │ ├── InputInfo.java
│ │ └── impl
│ │ ├── AlertDialogStrategy.java
│ │ └── MaterialDialogStrategy.java
│ ├── edittext
│ ├── AsteriskPasswordTransformationMethod.java
│ ├── ClearEditText.java
│ ├── MultiLineEditText.java
│ ├── PasswordEditText.java
│ ├── ValidatorEditText.java
│ ├── materialedittext
│ │ ├── MaterialEditText.java
│ │ └── validation
│ │ │ ├── METLengthChecker.java
│ │ │ ├── METValidator.java
│ │ │ ├── NotAllowEmptyValidator.java
│ │ │ └── RegexpValidator.java
│ └── verify
│ │ ├── PwdEditText.java
│ │ ├── PwdTextView.java
│ │ ├── TInputConnection.java
│ │ └── VerifyCodeEditText.java
│ ├── flowlayout
│ ├── BaseTagAdapter.java
│ ├── DefaultFlowTagAdapter.java
│ ├── FlowLayout.java
│ └── FlowTagLayout.java
│ ├── grouplist
│ ├── XUICommonListItemView.java
│ ├── XUIGroupListSectionHeaderFooterView.java
│ └── XUIGroupListView.java
│ ├── guidview
│ ├── Calculator.java
│ ├── DismissListener.java
│ ├── FocusShape.java
│ ├── GuideCaseQueue.java
│ ├── GuideCaseView.java
│ ├── GuideImageView.java
│ ├── OnCompleteListener.java
│ ├── OnViewInflateListener.java
│ └── Utils.java
│ ├── imageview
│ ├── IconImageView.java
│ ├── ImageLoader.java
│ ├── RadiusImageView.java
│ ├── SignatureView.java
│ ├── crop
│ │ ├── AspectRatioUtil.java
│ │ ├── CenterHandleHelper.java
│ │ ├── CornerHandleHelper.java
│ │ ├── CropImageType.java
│ │ ├── CropImageView.java
│ │ ├── CropOverlayView.java
│ │ ├── Edge.java
│ │ ├── EdgePair.java
│ │ ├── Handle.java
│ │ ├── HandleHelper.java
│ │ ├── HandleUtil.java
│ │ ├── HorizontalHandleHelper.java
│ │ ├── ImageViewUtil.java
│ │ ├── PaintUtil.java
│ │ └── VerticalHandleHelper.java
│ ├── edit
│ │ ├── BitmapUtil.java
│ │ ├── BrushDrawingView.java
│ │ ├── BrushViewChangeListener.java
│ │ ├── CustomEffect.java
│ │ ├── FilterImageView.java
│ │ ├── GLToolbox.java
│ │ ├── ImageFilterView.java
│ │ ├── LinePath.java
│ │ ├── MultiTouchListener.java
│ │ ├── OnBitmapSaveListener.java
│ │ ├── OnPhotoEditorListener.java
│ │ ├── PhotoEditor.java
│ │ ├── PhotoEditorView.java
│ │ ├── PhotoEnhance.java
│ │ ├── PhotoFilter.java
│ │ ├── SaveSettings.java
│ │ ├── ScaleGestureDetector.java
│ │ ├── TextStyleBuilder.java
│ │ ├── TextureRenderer.java
│ │ ├── Vector2D.java
│ │ └── ViewType.java
│ ├── nine
│ │ ├── GridImageView.java
│ │ ├── ItemImageClickListener.java
│ │ ├── ItemImageLongClickListener.java
│ │ ├── NineGridImageView.java
│ │ └── NineGridImageViewAdapter.java
│ ├── photoview
│ │ ├── Compat.java
│ │ ├── DefaultOnDoubleTapListener.java
│ │ ├── IPhotoView.java
│ │ ├── PhotoView.java
│ │ ├── PhotoViewAttacher.java
│ │ ├── gestures
│ │ │ ├── CupcakeGestureDetector.java
│ │ │ ├── EclairGestureDetector.java
│ │ │ ├── FroyoGestureDetector.java
│ │ │ ├── IGestureDetector.java
│ │ │ ├── OnGestureListener.java
│ │ │ └── VersionedGestureDetector.java
│ │ └── scrollerproxy
│ │ │ ├── GingerScroller.java
│ │ │ ├── IcsScroller.java
│ │ │ ├── PreGingerScroller.java
│ │ │ └── ScrollerProxy.java
│ ├── preview
│ │ ├── MediaLoader.java
│ │ ├── PreviewBuilder.java
│ │ ├── enitity
│ │ │ └── IPreviewInfo.java
│ │ ├── loader
│ │ │ ├── GlideMediaLoader.java
│ │ │ ├── IMediaLoader.java
│ │ │ ├── ISimpleTarget.java
│ │ │ └── OnVideoClickListener.java
│ │ ├── ui
│ │ │ ├── BasePhotoFragment.java
│ │ │ ├── PreviewActivity.java
│ │ │ └── VideoPlayerActivity.java
│ │ └── view
│ │ │ ├── BezierBannerView.java
│ │ │ ├── PhotoViewPager.java
│ │ │ └── SmoothImageView.java
│ └── strategy
│ │ ├── AlignEnum.java
│ │ ├── DiskCacheStrategyEnum.java
│ │ ├── IImageLoadStrategy.java
│ │ ├── ILoadListener.java
│ │ ├── LoadOption.java
│ │ └── impl
│ │ └── GlideImageLoadStrategy.java
│ ├── layout
│ ├── ExpandableLayout.java
│ ├── IXUILayout.java
│ ├── XUIButton.java
│ ├── XUIFrameLayout.java
│ ├── XUILayoutHelper.java
│ ├── XUILinearLayout.java
│ ├── XUIRelativeLayout.java
│ ├── interpolator
│ │ ├── FastOutSlowInInterpolator.java
│ │ └── LookupTableInterpolator.java
│ └── linkage
│ │ ├── ChildLinkageEvent.java
│ │ ├── ILinkageScroll.java
│ │ ├── LinkageScrollHandler.java
│ │ ├── LinkageScrollHandlerAdapter.java
│ │ ├── LinkageScrollLayout.java
│ │ ├── PosIndicator.java
│ │ └── view
│ │ ├── LinkageLinearLayout.java
│ │ ├── LinkageRecyclerView.java
│ │ ├── LinkageScrollView.java
│ │ ├── LinkageTextView.java
│ │ ├── LinkageWebView.java
│ │ └── NestedFrameLayout.java
│ ├── picker
│ ├── RulerView.java
│ ├── XRangeSlider.java
│ ├── XSeekBar.java
│ ├── wheelview
│ │ ├── WheelView.java
│ │ ├── adapter
│ │ │ └── WheelAdapter.java
│ │ ├── interfaces
│ │ │ └── IPickerViewItem.java
│ │ ├── listener
│ │ │ ├── LoopViewGestureListener.java
│ │ │ └── OnItemSelectedListener.java
│ │ └── timer
│ │ │ ├── InertiaTimerTask.java
│ │ │ ├── MessageHandler.java
│ │ │ └── SmoothScrollTimerTask.java
│ └── widget
│ │ ├── BasePickerView.java
│ │ ├── OptionsPickerView.java
│ │ ├── TimePickerView.java
│ │ ├── WheelOptions.java
│ │ ├── WheelTime.java
│ │ ├── adapter
│ │ ├── ArrayWheelAdapter.java
│ │ └── NumericWheelAdapter.java
│ │ ├── builder
│ │ ├── OptionsPickerBuilder.java
│ │ └── TimePickerBuilder.java
│ │ ├── configure
│ │ ├── PickerOptions.java
│ │ └── TimePickerType.java
│ │ ├── listener
│ │ ├── CustomListener.java
│ │ ├── ISelectTimeCallback.java
│ │ ├── OnDismissListener.java
│ │ ├── OnOptionsSelectChangeListener.java
│ │ ├── OnOptionsSelectListener.java
│ │ ├── OnTimeSelectChangeListener.java
│ │ └── OnTimeSelectListener.java
│ │ └── utils
│ │ ├── ChinaDateUtils.java
│ │ ├── LunarCalendarUtils.java
│ │ └── PickerViewAnimateUtils.java
│ ├── popupwindow
│ ├── PopWindow.java
│ ├── ViewTooltip.java
│ ├── bar
│ │ ├── Cookie.java
│ │ └── CookieBar.java
│ ├── easypopup
│ │ ├── BaseCustomPopup.java
│ │ ├── EasyPopup.java
│ │ ├── HorizontalGravity.java
│ │ ├── ListPopup.java
│ │ └── VerticalGravity.java
│ ├── good
│ │ ├── GoodView.java
│ │ └── IGoodView.java
│ ├── popup
│ │ ├── XUIBasePopup.java
│ │ ├── XUIExpandableListPopup.java
│ │ ├── XUIListPopup.java
│ │ ├── XUIPopup.java
│ │ ├── XUISimpleExpandablePopup.java
│ │ └── XUISimplePopup.java
│ └── status
│ │ ├── SimpleAnimListener.java
│ │ ├── Status.java
│ │ └── StatusView.java
│ ├── progress
│ ├── CircleProgressView.java
│ ├── HorizontalProgressView.java
│ ├── loading
│ │ ├── ARCLoadingView.java
│ │ ├── IMessageLoader.java
│ │ ├── LoadingCancelListener.java
│ │ ├── LoadingViewLayout.java
│ │ ├── MiniLoadingView.java
│ │ └── RotateLoadingView.java
│ ├── materialprogressbar
│ │ ├── Animators.java
│ │ ├── BaseDrawable.java
│ │ ├── BaseIndeterminateProgressDrawable.java
│ │ ├── BasePaintDrawable.java
│ │ ├── BaseProgressDrawable.java
│ │ ├── BaseProgressLayerDrawable.java
│ │ ├── BaseSingleCircularProgressDrawable.java
│ │ ├── BaseSingleHorizontalProgressDrawable.java
│ │ ├── CircularProgressBackgroundDrawable.java
│ │ ├── CircularProgressDrawable.java
│ │ ├── HorizontalProgressBackgroundDrawable.java
│ │ ├── HorizontalProgressDrawable.java
│ │ ├── IndeterminateCircularProgressDrawable.java
│ │ ├── IndeterminateHorizontalProgressDrawable.java
│ │ ├── Interpolators.java
│ │ ├── IntrinsicPaddingDrawable.java
│ │ ├── MaterialProgressBar.java
│ │ ├── MaterialProgressDrawable.java
│ │ ├── ShowBackgroundDrawable.java
│ │ ├── SingleCircularProgressDrawable.java
│ │ ├── SingleHorizontalProgressDrawable.java
│ │ ├── TintableDrawable.java
│ │ └── internal
│ │ │ ├── DrawableCompat.java
│ │ │ ├── ObjectAnimatorCompat.java
│ │ │ ├── ObjectAnimatorCompatBase.java
│ │ │ └── ObjectAnimatorCompatLollipop.java
│ └── ratingbar
│ │ ├── AnimationRatingBar.java
│ │ ├── IRatingBar.java
│ │ ├── PartialView.java
│ │ ├── RatingBar.java
│ │ ├── RatingBarUtils.java
│ │ ├── RotationRatingBar.java
│ │ ├── SavedState.java
│ │ └── ScaleRatingBar.java
│ ├── searchview
│ ├── AbstractSearchFilter.java
│ ├── AnimationUtils.java
│ ├── DefaultSearchFilter.java
│ ├── MaterialSearchView.java
│ └── SearchAdapter.java
│ ├── shadow
│ ├── ShadowButton.java
│ ├── ShadowDrawable.java
│ └── ShadowTextView.java
│ ├── slideback
│ ├── SlideBack.java
│ ├── SlideBackManager.java
│ ├── SlideInfo.java
│ ├── callback
│ │ ├── SlideBackCallBack.java
│ │ └── SlideCallBack.java
│ ├── dispatcher
│ │ ├── ISlideTouchEventDispatcher.java
│ │ ├── OnSlideUpdateListener.java
│ │ └── impl
│ │ │ └── DefaultSlideTouchDispatcher.java
│ └── widget
│ │ ├── SlideBackIconView.java
│ │ └── SlideBackInterceptLayout.java
│ ├── spinner
│ ├── DropDownMenu.java
│ ├── editspinner
│ │ ├── BaseEditSpinnerAdapter.java
│ │ ├── EditSpinner.java
│ │ ├── EditSpinnerAdapter.java
│ │ └── EditSpinnerFilter.java
│ └── materialspinner
│ │ ├── MaterialSpinner.java
│ │ ├── MaterialSpinnerAdapter.java
│ │ ├── MaterialSpinnerAdapterWrapper.java
│ │ └── MaterialSpinnerBaseAdapter.java
│ ├── statelayout
│ ├── CustomStateOptions.java
│ ├── MultipleStatusView.java
│ ├── SimpleAnimationListener.java
│ ├── StateLayoutConfig.java
│ ├── StatefulLayout.java
│ └── StatusLoader.java
│ ├── tabbar
│ ├── EasyIndicator.java
│ ├── MultiTabControlView.java
│ ├── TabControlView.java
│ ├── TabSegment.java
│ ├── VerticalTabLayout.java
│ ├── XUIItemViewsAdapter.java
│ └── vertical
│ │ ├── ITabView.java
│ │ ├── TabAdapter.java
│ │ ├── TabBadgeView.java
│ │ ├── TabFragmentManager.java
│ │ ├── TabView.java
│ │ └── XTabView.java
│ ├── textview
│ ├── AutoMoveTextView.java
│ ├── BadgeView.java
│ ├── ExpandableTextView.java
│ ├── LoggerTextView.java
│ ├── MarqueeTextView.java
│ ├── autofit
│ │ ├── AutoFitHelper.java
│ │ ├── AutoFitLayout.java
│ │ └── AutoFitTextView.java
│ ├── badge
│ │ ├── Badge.java
│ │ ├── BadgeAnimator.java
│ │ ├── BadgeView.java
│ │ └── MathUtils.java
│ ├── label
│ │ ├── LabelButtonView.java
│ │ ├── LabelImageView.java
│ │ ├── LabelTextView.java
│ │ ├── LabelView.java
│ │ └── LabelViewHelper.java
│ ├── marqueen
│ │ ├── ComplexItemEntity.java
│ │ ├── ComplexViewMF.java
│ │ ├── DisplayEntity.java
│ │ ├── MarqueeFactory.java
│ │ ├── MarqueeView.java
│ │ └── SimpleNoticeMF.java
│ ├── span
│ │ ├── AlignMiddleImageSpan.java
│ │ └── MarginImageSpan.java
│ └── supertextview
│ │ ├── BaseTextView.java
│ │ ├── CommonTextView.java
│ │ ├── SuperButton.java
│ │ └── SuperTextView.java
│ └── toast
│ ├── Utils.java
│ └── XToast.java
└── res
├── anim
├── cookiebar_interpolator_slight_anticipate.xml
├── cookiebar_interpolator_slight_overshoot.xml
├── cookiebar_slide_in_from_bottom.xml
├── cookiebar_slide_in_from_top.xml
├── cookiebar_slide_out_to_bottom.xml
├── cookiebar_slide_out_to_top.xml
├── ddm_mask_in.xml
├── ddm_mask_out.xml
├── ddm_menu_in.xml
├── ddm_menu_out.xml
├── gcv_fade_in.xml
├── gcv_fade_out.xml
├── marquee_bottom_in.xml
├── marquee_bottom_out.xml
├── marquee_left_in.xml
├── marquee_left_out.xml
├── marquee_right_in.xml
├── marquee_right_out.xml
├── marquee_top_in.xml
├── marquee_top_out.xml
├── md_decelerate_cubic.xml
├── md_popup_enter.xml
├── md_popup_exit.xml
├── picker_view_dialog_scale_in.xml
├── picker_view_dialog_scale_out.xml
├── picker_view_slide_in_bottom.xml
├── picker_view_slide_out_bottom.xml
├── pop_grow_from_bottom.xml
├── pop_grow_from_bottomleft_to_topright.xml
├── pop_grow_from_bottomright_to_topleft.xml
├── pop_grow_from_top.xml
├── pop_grow_from_topleft_to_bottomright.xml
├── pop_grow_from_topright_to_bottomleft.xml
├── pop_shrink_from_bottom.xml
├── pop_shrink_from_bottomleft_to_topright.xml
├── pop_shrink_from_bottomright_to_topleft.xml
├── pop_shrink_from_top.xml
├── pop_shrink_from_topleft_to_bottomright.xml
├── pop_shrink_from_topright_to_bottomleft.xml
├── srb_rotation.xml
├── srb_scale_down.xml
├── srb_scale_up.xml
├── sv_slide_in.xml
└── sv_slide_out.xml
├── color
├── ms_dropdown_item_textcolor.xml
├── swb_md_back_color.xml
├── xui_config_color_edittext_textcolor.xml
├── xui_default_flow_tag_selector_text_color.xml
├── xui_default_round_btn_blue_bg.xml
├── xui_default_round_btn_blue_border.xml
├── xui_default_round_btn_blue_text.xml
├── xui_default_round_btn_gray_bg.xml
├── xui_default_round_btn_green_bg.xml
├── xui_default_round_btn_white_text.xml
├── xui_selector_content_text_color.xml
└── xui_transparent.xml
├── drawable-hdpi
├── srb_ic_empty.png
├── srb_ic_filled.png
├── xtoast_frame.9.png
├── xui_bg_center_popwindow.9.png
├── xui_ic_arrow_down_black.png
├── xui_ic_default_img.png
├── xui_ic_expand_less_black_12dp.png
├── xui_ic_expand_more_black_12dp.png
├── xui_ic_no_img.png
├── xui_icon_check_mark.png
├── xui_icon_tip_new.png
├── xui_icon_video.png
└── xui_popup_arrow_down.png
├── drawable-nodpi
└── xui_divider.png
├── drawable-v17
├── md_btn_selected.xml
├── md_btn_selected_dark.xml
├── mlet_selector_bg.xml
├── ms_drop_down_bg.xml
├── ms_drop_down_bg_radius.xml
├── ms_ic_arrow_down.png
├── xui_config_bg_button_corner_white.xml
├── xui_config_bg_dialog_radius_black.xml
├── xui_config_bg_dialog_radius_white.xml
├── xui_config_bg_spinner_normal.xml
├── xui_config_bg_spinner_touch.xml
├── xui_config_border_separator_light.xml
├── xui_config_color_blue_btn_disable.xml
├── xui_config_color_blue_btn_normal.xml
├── xui_config_color_blue_btn_touch.xml
├── xui_config_color_edittext_disable.xml
├── xui_config_color_edittext_error.xml
├── xui_config_color_edittext_normal.xml
├── xui_config_color_edittext_touch.xml
├── xui_config_color_primary_btn_normal.xml
├── xui_config_color_primary_btn_touch.xml
├── xui_config_list_divider.xml
├── xui_config_list_item_selector.xml
├── xui_config_list_item_transparent_selector.xml
├── xui_config_popup_divider.xml
├── xui_config_selectable_item_selector.xml
├── xui_default_flow_tag_bg_rect_round.xml
├── xui_divider_top_bitmap.xml
├── xui_ic_default_clear_btn.png
├── xui_ic_navigation_back_white.png
├── xui_icon_checkbox_checked.png
├── xui_icon_checkbox_normal.png
├── xui_list_item_bg_with_border_bottom.xml
├── xui_list_item_bg_with_border_bottom_pressed.xml
├── xui_list_item_bg_with_border_double.xml
├── xui_list_item_bg_with_border_double_pressed.xml
├── xui_list_item_bg_with_border_none_selector.xml
├── xui_list_item_bg_with_border_top.xml
└── xui_list_item_bg_with_border_top_pressed.xml
├── drawable-v21
├── ms_ic_arrow_down.xml
├── pet_icon_visibility_24dp.xml
├── pet_icon_visibility_off_24dp.xml
├── xui_config_bg_splash.xml
├── xui_config_color_blue_btn_disable.xml
├── xui_config_color_blue_btn_normal.xml
├── xui_config_color_blue_btn_touch.xml
├── xui_config_color_edittext_disable.xml
├── xui_config_color_edittext_error.xml
├── xui_config_color_edittext_normal.xml
├── xui_config_color_edittext_touch.xml
├── xui_config_color_primary_btn_normal.xml
├── xui_config_color_primary_btn_touch.xml
├── xui_default_flow_tag_bg_rect_round.xml
├── xui_ic_default_clear_btn.xml
├── xui_ic_default_tip_btn.xml
├── xui_ic_navigation_back_white.xml
├── xui_icon_checkbox.xml
├── xui_icon_checkbox_checked.xml
└── xui_icon_checkbox_normal.xml
├── drawable-xxhdpi
├── xui_bg_bubble_blue.png
└── xui_ic_slider_icon.png
├── drawable-xxxhdpi
└── xui_popup_bg.9.png
├── drawable
├── ddm_ic_arrow_down.xml
├── ddm_ic_arrow_up.xml
├── md_btn_selected.xml
├── md_btn_selected_dark.xml
├── md_btn_selector.xml
├── md_btn_selector_dark.xml
├── md_item_selected.xml
├── md_item_selected_dark.xml
├── md_selector.xml
├── md_selector_dark.xml
├── md_transparent.xml
├── mlet_selector_bg.xml
├── ms_background_selector.xml
├── ms_drop_down_bg.xml
├── ms_drop_down_bg_radius.xml
├── ms_ic_arrow_down.xml
├── ms_ic_arrow_up.xml
├── pe_ic_remove.xml
├── pe_rounded_border_tv.xml
├── pet_icon_visibility_24dp.xml
├── pet_icon_visibility_off_24dp.xml
├── rb_bg_disabled.xml
├── rb_bg_normal.xml
├── rb_bg_pressed.xml
├── rb_bg_selector.xml
├── stf_ic_empty.xml
├── stf_ic_error.xml
├── stf_ic_location_off.xml
├── stf_ic_offline.xml
├── stv_btn_selector_white.xml
├── swb_md_thumb.xml
├── tcv_left_option.xml
├── tcv_left_option_selected.xml
├── tcv_middle_option.xml
├── tcv_middle_option_selected.xml
├── tcv_right_option.xml
├── tcv_right_option_selected.xml
├── vcet_shape_bg_focus.xml
├── vcet_shape_bg_normal.xml
├── vcet_shape_divider.xml
├── xtoast_ic_check_white_24dp.xml
├── xtoast_ic_clear_white_24dp.xml
├── xtoast_ic_error_outline_white_24dp.xml
├── xtoast_ic_info_outline_white_24dp.xml
├── xui_config_bg_blue_btn.xml
├── xui_config_bg_button_corner_black.xml
├── xui_config_bg_button_corner_white.xml
├── xui_config_bg_dialog_radius_black.xml
├── xui_config_bg_dialog_radius_white.xml
├── xui_config_bg_edittext.xml
├── xui_config_bg_primary_btn.xml
├── xui_config_bg_spinner.xml
├── xui_config_bg_spinner_normal.xml
├── xui_config_bg_spinner_touch.xml
├── xui_config_bg_splash.xml
├── xui_config_border_separator_light.xml
├── xui_config_color_blue_btn_disable.xml
├── xui_config_color_blue_btn_normal.xml
├── xui_config_color_blue_btn_touch.xml
├── xui_config_color_edittext_disable.xml
├── xui_config_color_edittext_error.xml
├── xui_config_color_edittext_normal.xml
├── xui_config_color_edittext_touch.xml
├── xui_config_color_primary_btn_normal.xml
├── xui_config_color_primary_btn_touch.xml
├── xui_config_list_divider.xml
├── xui_config_list_item_selector.xml
├── xui_config_list_item_transparent_selector.xml
├── xui_config_popup_divider.xml
├── xui_config_preview_window.xml
├── xui_config_selectable_item_selector.xml
├── xui_default_flow_tag_bg_rect_round.xml
├── xui_divider_top_bitmap.xml
├── xui_ic_action_navigation_arrow_back.xml
├── xui_ic_action_navigation_clear.xml
├── xui_ic_action_voice_search.xml
├── xui_ic_default_clear_btn.xml
├── xui_ic_default_tip_btn.xml
├── xui_ic_expand_arrow_down.xml
├── xui_ic_expand_arrow_up.xml
├── xui_ic_navigation_back_white.xml
├── xui_ic_suggestion.xml
├── xui_icon_checkbox.xml
├── xui_icon_checkbox_checked.xml
├── xui_icon_checkbox_normal.xml
├── xui_icon_chevron.xml
├── xui_icon_switch_off.xml
├── xui_icon_switch_on.xml
├── xui_icon_switch_selector.xml
├── xui_list_item_bg_with_border_bottom.xml
├── xui_list_item_bg_with_border_bottom_pressed.xml
├── xui_list_item_bg_with_border_bottom_selector.xml
├── xui_list_item_bg_with_border_double.xml
├── xui_list_item_bg_with_border_double_pressed.xml
├── xui_list_item_bg_with_border_double_selector.xml
├── xui_list_item_bg_with_border_none_selector.xml
├── xui_list_item_bg_with_border_top.xml
├── xui_list_item_bg_with_border_top_pressed.xml
├── xui_list_item_bg_with_border_top_selector.xml
├── xui_popup_arrow_up.xml
├── xui_shape_transparent.xml
├── xui_sign_count_view_bg.xml
└── xui_tips_point.xml
├── layout-large
└── xui_layout_xtoast.xml
├── layout-xlarge
└── xui_layout_xtoast.xml
├── layout
├── gcv_layout_image.xml
├── gcv_layout_title.xml
├── marqueen_layout_complex_view.xml
├── marqueen_layout_notice_item.xml
├── ms_layout_list_item.xml
├── msv_layout_empty_view.xml
├── msv_layout_error_view.xml
├── msv_layout_loading_view.xml
├── msv_layout_no_network_view.xml
├── preview_activity_image_photo.xml
├── preview_activity_video_player.xml
├── preview_fragment_image_photo.xml
├── xmd_layout_dialog_basic.xml
├── xmd_layout_dialog_basic_check.xml
├── xmd_layout_dialog_custom.xml
├── xmd_layout_dialog_input.xml
├── xmd_layout_dialog_input_check.xml
├── xmd_layout_dialog_list.xml
├── xmd_layout_dialog_list_check.xml
├── xmd_layout_dialog_progress.xml
├── xmd_layout_dialog_progress_indeterminate.xml
├── xmd_layout_dialog_progress_indeterminate_horizontal.xml
├── xmd_layout_listitem.xml
├── xmd_layout_listitem_multi_choice.xml
├── xmd_layout_listitem_single_choice.xml
├── xmd_layout_preference_custom.xml
├── xmd_layout_simplelist_item.xml
├── xmd_layout_stub_action_buttons.xml
├── xmd_layout_stub_inputpref.xml
├── xmd_layout_stub_progress.xml
├── xmd_layout_stub_progress_indeterminate.xml
├── xmd_layout_stub_progress_indeterminate_horizontal.xml
├── xmd_layout_stub_title_frame.xml
├── xmd_layout_stub_title_frame_less_padding.xml
├── xui_activity_guide.xml
├── xui_adapter_default_flow_tag_item.xml
├── xui_adapter_listview_simple_item.xml
├── xui_adapter_simple_guide.xml
├── xui_adapter_simple_image.xml
├── xui_adapter_simple_text.xml
├── xui_bottom_sheet_grid.xml
├── xui_bottom_sheet_grid_item.xml
├── xui_bottom_sheet_grid_item_subscript.xml
├── xui_bottom_sheet_list.xml
├── xui_bottom_sheet_list_item.xml
├── xui_bottom_sheet_list_item_mark.xml
├── xui_dialog_loading.xml
├── xui_dialog_loading_mini.xml
├── xui_include_picker_view_bottom.xml
├── xui_include_picker_view_topbar.xml
├── xui_include_titlebar.xml
├── xui_layout_common_list_item.xml
├── xui_layout_common_list_item_tip_new.xml
├── xui_layout_cookie.xml
├── xui_layout_crop_image_view.xml
├── xui_layout_edit_spinner.xml
├── xui_layout_expand_child_item.xml
├── xui_layout_expand_group_item.xml
├── xui_layout_group_list_section.xml
├── xui_layout_loading_view.xml
├── xui_layout_multiline_edittext.xml
├── xui_layout_photo_editor_image.xml
├── xui_layout_photo_editor_text.xml
├── xui_layout_picker_view_base.xml
├── xui_layout_picker_view_options.xml
├── xui_layout_picker_view_options_dialog.xml
├── xui_layout_picker_view_time.xml
├── xui_layout_picker_view_time_dialog.xml
├── xui_layout_popup.xml
├── xui_layout_search_view.xml
├── xui_layout_search_view_suggest_item.xml
├── xui_layout_spinner_drop_down_item.xml
├── xui_layout_spinner_selected_item.xml
├── xui_layout_stateful_template.xml
├── xui_layout_verify_code.xml
└── xui_layout_xtoast.xml
└── values
├── md_attrs.xml
├── stv_attrs.xml
├── xui_arrays.xml
├── xui_attrs.xml
├── xui_attrs_base.xml
├── xui_colors.xml
├── xui_dimens.xml
├── xui_ids.xml
├── xui_public.xml
├── xui_strings.xml
├── xui_styles_common.xml
├── xui_styles_widget.xml
└── xui_themes.xml
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/caches
5 | /.idea/libraries
6 | /.idea/modules.xml
7 | /.idea/workspace.xml
8 | /.idea/navEditor.xml
9 | /.idea/assetWizardSettings.xml
10 | .DS_Store
11 | /build
12 | /captures
13 | .externalNativeBuild
14 | .cxx
15 | local.properties
16 | /app/release
17 |
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 |
--------------------------------------------------------------------------------
/.idea/.name:
--------------------------------------------------------------------------------
1 | Factory Test
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/dictionaries/28821.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | backlight
5 | gpio
6 | iperf
7 | uart
8 | wiegand
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
23 |
24 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
--------------------------------------------------------------------------------
/app/build.properties:
--------------------------------------------------------------------------------
1 | #Build Properties
2 | #Thu Jul 07 08:36:49 CST 2022
3 | version_minor=0
4 | version_build=0
5 | version_patch=22
6 | version_store=23
7 | version_major=1
8 |
--------------------------------------------------------------------------------
/app/libs/NativeAudioRecord-release-1.0.0.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/libs/NativeAudioRecord-release-1.0.0.aar
--------------------------------------------------------------------------------
/app/libs/nd01sdk-release-v1.0.2.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/libs/nd01sdk-release-v1.0.2.aar
--------------------------------------------------------------------------------
/app/libs/tbapi-release_1.0.13.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/libs/tbapi-release_1.0.13.aar
--------------------------------------------------------------------------------
/app/src/androidTest/java/com/ayst/factorytest/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package com.ayst.factorytest;
2 |
3 | import android.content.Context;
4 |
5 | import androidx.test.platform.app.InstrumentationRegistry;
6 | import androidx.test.ext.junit.runners.AndroidJUnit4;
7 |
8 | import org.junit.Test;
9 | import org.junit.runner.RunWith;
10 |
11 | import static org.junit.Assert.*;
12 |
13 | /**
14 | * Instrumented test, which will execute on an Android device.
15 | *
16 | * @see Testing documentation
17 | */
18 | @RunWith(AndroidJUnit4.class)
19 | public class ExampleInstrumentedTest {
20 | @Test
21 | public void useAppContext() {
22 | // Context of the app under test.
23 | Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
24 | assertEquals("com.ayst.factorytest", appContext.getPackageName());
25 | }
26 | }
--------------------------------------------------------------------------------
/app/src/main/assets/bin/iperf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/assets/bin/iperf
--------------------------------------------------------------------------------
/app/src/main/assets/bin/iperf3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/assets/bin/iperf3
--------------------------------------------------------------------------------
/app/src/main/java/com/ayst/factorytest/App.java:
--------------------------------------------------------------------------------
1 | package com.ayst.factorytest;
2 |
3 | import android.app.Application;
4 |
5 | import com.blankj.utilcode.util.Utils;
6 | import com.topband.tbapi.TBManager;
7 | import com.xuexiang.xui.XUI;
8 |
9 | public class App extends Application {
10 | private static final String TAG = "App";
11 |
12 | private static TBManager sTBManager;
13 |
14 | @Override
15 | public void onCreate() {
16 | super.onCreate();
17 |
18 | Utils.init(this);
19 | XUI.init(this);
20 |
21 | sTBManager = new TBManager(this);
22 | sTBManager.init();
23 | }
24 |
25 | @Override
26 | public void onTerminate() {
27 | sTBManager.deinit();
28 | super.onTerminate();
29 | }
30 |
31 | public static TBManager getTBManager() {
32 | return sTBManager;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/java/com/ayst/factorytest/adapter/NarItemAdapter.java:
--------------------------------------------------------------------------------
1 | package com.ayst.factorytest.adapter;
2 |
3 | import android.os.Build;
4 |
5 | import androidx.annotation.NonNull;
6 | import androidx.annotation.RequiresApi;
7 |
8 | import com.ayst.factorytest.R;
9 | import com.chad.library.adapter.base.BaseQuickAdapter;
10 | import com.chad.library.adapter.base.viewholder.BaseViewHolder;
11 |
12 | public class NarItemAdapter extends BaseQuickAdapter {
13 | public NarItemAdapter() {
14 | super(R.layout.layout_rv_item);
15 | }
16 |
17 | @RequiresApi(api = Build.VERSION_CODES.M)
18 | @Override
19 | protected void convert(@NonNull BaseViewHolder baseViewHolder, Double value) {
20 | baseViewHolder.setText(R.id.tv_name, String.format("%.2f", value));
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/app/src/main/java/com/ayst/factorytest/adapter/StringItemAdapter.java:
--------------------------------------------------------------------------------
1 | package com.ayst.factorytest.adapter;
2 |
3 | import android.os.Build;
4 |
5 | import androidx.annotation.NonNull;
6 | import androidx.annotation.RequiresApi;
7 |
8 | import com.ayst.factorytest.R;
9 | import com.chad.library.adapter.base.BaseQuickAdapter;
10 | import com.chad.library.adapter.base.viewholder.BaseViewHolder;
11 |
12 | public class StringItemAdapter extends BaseQuickAdapter {
13 | public StringItemAdapter() {
14 | super(R.layout.layout_rv_item);
15 | }
16 |
17 | @RequiresApi(api = Build.VERSION_CODES.M)
18 | @Override
19 | protected void convert(@NonNull BaseViewHolder baseViewHolder, String value) {
20 | baseViewHolder.setText(R.id.tv_name, value);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/app/src/main/java/com/ayst/factorytest/base/BaseActivity.java:
--------------------------------------------------------------------------------
1 | package com.ayst.factorytest.base;
2 |
3 | import android.os.Bundle;
4 |
5 | import androidx.annotation.Nullable;
6 | import androidx.appcompat.app.AppCompatActivity;
7 |
8 | import com.xuexiang.xui.XUI;
9 | import com.xuexiang.xui.utils.WidgetUtils;
10 |
11 | public class BaseActivity extends AppCompatActivity {
12 |
13 | @Override
14 | protected void onCreate(@Nullable Bundle savedInstanceState) {
15 | XUI.initTheme(this);
16 | WidgetUtils.requestFullScreen(this);
17 | super.onCreate(savedInstanceState);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/app/src/main/java/com/ayst/factorytest/model/ResultEvent.java:
--------------------------------------------------------------------------------
1 | package com.ayst.factorytest.model;
2 |
3 | public class ResultEvent {
4 | private TestItem mItem;
5 |
6 | public ResultEvent(TestItem item) {
7 | this.mItem = item;
8 | }
9 |
10 | public TestItem getTestItem() {
11 | return mItem;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/app/src/main/java/com/ayst/factorytest/model/WiFiParam.java:
--------------------------------------------------------------------------------
1 | package com.ayst.factorytest.model;
2 |
3 | import com.google.gson.annotations.SerializedName;
4 |
5 | import java.io.Serializable;
6 |
7 | public class WiFiParam implements Serializable {
8 |
9 | @SerializedName("ssid")
10 | private String ssid;
11 |
12 | @SerializedName("rssi")
13 | private Integer rssi;
14 |
15 | public String getSsid() {
16 | return ssid;
17 | }
18 |
19 | public void setSsid(String ssid) {
20 | this.ssid = ssid;
21 | }
22 |
23 | public Integer getRssi() {
24 | return rssi;
25 | }
26 |
27 | public void setRssi(Integer rssi) {
28 | this.rssi = rssi;
29 | }
30 |
31 | @Override
32 | public String toString() {
33 | return "WiFiParam{" +
34 | "ssid='" + ssid + '\'' +
35 | ", rssi=" + rssi +
36 | '}';
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bg_container.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bg_recyclerview.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bg_state_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bg_state_selected.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bg_state_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_fail_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_fail_pressed.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_fail_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_start_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_start_pressed.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_start_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_success_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_success_pressed.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_success_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_text_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_touch_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_touch_selected.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_touch_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/edt_line.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
9 |
10 |
11 | -
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_bluetooth_test.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
15 |
16 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_camera_test.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
16 |
17 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_human_sensor.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
17 |
18 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_key_test.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
16 |
17 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_regular_boot_test.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_speaker_test.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_touch_test.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
19 |
20 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_watchdog_test.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_wifi_test.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
15 |
16 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_rv_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_test_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_close.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_device.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_device.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_wait_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_wait_0.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_wait_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_wait_1.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_wait_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_wait_2.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_wait_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_wait_3.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_wait_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_wait_4.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_wait_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_wait_5.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_wait_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_wait_6.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_wait_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_wait_7.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_wait_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_wait_8.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_wifi_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_wifi_0.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_wifi_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_wifi_1.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_wifi_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_wifi_2.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_wifi_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_wifi_3.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_wifi_connected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_wifi_connected.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_wifi_pwd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-hdpi/ic_wifi_pwd.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/raw/play.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/src/main/res/raw/play.mp3
--------------------------------------------------------------------------------
/app/src/main/res/values-sw480dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 18sp
4 | 14sp
5 | 12sp
6 | 8sp
7 |
8 | 40dp
9 | 10dp
10 | 40dp
11 | 40dp
12 | 80dp
13 | 60dp
14 | 40dp
15 |
16 |
17 | 400dp
18 | 12dp
19 | 8dp
20 | 12dp
21 | 8dp
22 |
--------------------------------------------------------------------------------
/app/src/main/res/values-sw600dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 18sp
5 | 14sp
6 | 12sp
7 | 8sp
8 |
9 |
10 | 30dp
11 | 20dp
12 | 45dp
13 | 50dp
14 | 100dp
15 | 80dp
16 | 30dp
17 |
18 |
19 | 400dp
20 | 12dp
21 | 8dp
22 | 12dp
23 | 8dp
24 |
--------------------------------------------------------------------------------
/app/src/main/res/values-xhdpi/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14sp
5 | 12sp
6 | 10sp
7 | 8sp
8 |
9 |
10 | 10dp
11 | 10dp
12 | 35dp
13 | 35dp
14 | 70dp
15 | 60dp
16 | 40dp
17 |
18 |
19 | 350dp
20 | 8dp
21 | 5dp
22 | 8dp
23 | 5dp
24 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 18sp
5 | 14sp
6 | 12sp
7 | 8sp
8 |
9 |
10 | 50dp
11 | 40dp
12 | 50dp
13 | 60dp
14 | 140dp
15 | 100dp
16 | 40dp
17 |
18 |
19 | 500dp
20 | 15dp
21 | 10dp
22 | 15dp
23 | 10dp
24 |
--------------------------------------------------------------------------------
/app/src/main/res/values/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
16 |
--------------------------------------------------------------------------------
/app/src/test/java/com/ayst/factorytest/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.ayst.factorytest;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/app/system.keystore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/app/system.keystore
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Jan 10 14:26:30 CST 2022
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
7 |
--------------------------------------------------------------------------------
/screenshots/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/screenshots/home.png
--------------------------------------------------------------------------------
/screenshots/microphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/screenshots/microphone.png
--------------------------------------------------------------------------------
/screenshots/result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/screenshots/result.png
--------------------------------------------------------------------------------
/screenshots/touch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/screenshots/touch.png
--------------------------------------------------------------------------------
/serialport/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 | .externalNativeBuild
3 |
--------------------------------------------------------------------------------
/serialport/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 |
4 | android {
5 | compileSdkVersion rootProject.ext.compileSdkVersion
6 |
7 | defaultConfig {
8 | minSdkVersion rootProject.ext.minSdkVersion
9 | targetSdkVersion rootProject.ext.targetSdkVersion
10 |
11 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
12 | }
13 | buildTypes {
14 | release {
15 | minifyEnabled false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
17 | }
18 | }
19 | externalNativeBuild {
20 | cmake {
21 | path 'CMakeLists.txt'
22 | }
23 | }
24 | }
25 |
26 | dependencies {
27 | }
28 |
29 |
--------------------------------------------------------------------------------
/serialport/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in D:\DevTools\Android\sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Uncomment this to preserve the line number information for
20 | # debugging stack traces.
21 | #-keepattributes SourceFile,LineNumberTable
22 |
23 | # If you keep the line number information, uncomment this to
24 | # hide the original source file name.
25 | #-renamesourcefileattribute SourceFile
26 |
--------------------------------------------------------------------------------
/serialport/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/serialport/src/main/cpp/gen_SerialPort_h.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | javah -o SerialPort.h -jni -classpath ../java android.serialport.SerialPort
3 |
4 |
--------------------------------------------------------------------------------
/serialport/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | SerialPortSource
3 |
4 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app', ':xui', ':serialport'
2 | rootProject.name = "Factory Test"
--------------------------------------------------------------------------------
/xui/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/xui/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 | //apply plugin: 'img-optimizer'
3 |
4 | android {
5 | compileSdkVersion rootProject.ext.compileSdkVersion
6 | buildToolsVersion rootProject.ext.buildToolsVersion
7 |
8 | defaultConfig {
9 | minSdkVersion rootProject.ext.minSdkVersion
10 | targetSdkVersion rootProject.ext.targetSdkVersion
11 |
12 | vectorDrawables.useSupportLibrary = true
13 | }
14 |
15 | lintOptions {
16 | abortOnError false
17 | }
18 | }
19 |
20 | dependencies {
21 | implementation 'androidx.appcompat:appcompat:1.4.1'
22 | implementation 'androidx.recyclerview:recyclerview:1.2.1'
23 | implementation 'com.android.support:design:28.0.0'
24 | implementation 'com.google.android.material:material:1.5.0'
25 | implementation 'com.github.bumptech.glide:glide:4.12.0'
26 |
27 | api 'io.github.inflationx:calligraphy3:3.1.1'
28 | api 'io.github.inflationx:viewpump:2.0.3'
29 | }
30 |
31 | //apply from: '../JitPackUpload.gradle'
32 |
--------------------------------------------------------------------------------
/xui/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/xui/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
10 |
11 |
14 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/UIConsts.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui;
2 |
3 | /**
4 | * 常量
5 | *
6 | * @author xuexiang
7 | * @since 2018/11/22 下午5:24
8 | */
9 | public final class UIConsts {
10 |
11 | /**
12 | * 屏幕类型
13 | */
14 | public final static class ScreenType {
15 | /**
16 | * 手机
17 | */
18 | public final static int PHONE = 1;
19 | /**
20 | * 小平板(7寸左右)
21 | */
22 | public final static int SMALL_TABLET = 2;
23 | /**
24 | * 大平板(10寸左右)
25 | */
26 | public final static int BIG_TABLET = 3;
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/adapter/simple/ViewHolder.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.adapter.simple;
2 |
3 | import android.widget.ImageView;
4 | import android.widget.LinearLayout;
5 | import android.widget.TextView;
6 |
7 | /**
8 | * 简单的ViewHolder
9 | *
10 | * @author xuexiang
11 | * @since 2019/1/14 下午10:16
12 | */
13 | public class ViewHolder {
14 | /**
15 | * 父布局
16 | */
17 | public LinearLayout mLLContentView;
18 | /**
19 | * 标题
20 | */
21 | public TextView mTvTitle;
22 | /**
23 | * 图标
24 | */
25 | public ImageView mIvIcon;
26 | }
27 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/logs/ILogger.java:
--------------------------------------------------------------------------------
1 |
2 | package com.xuexiang.xui.logs;
3 |
4 | /**
5 | * 简易的日志记录接口
6 | *
7 | * @author xuexiang
8 | * @since 2019/1/14 下午10:15
9 | */
10 | public interface ILogger {
11 |
12 | /**
13 | * 打印信息
14 | *
15 | * @param priority 优先级
16 | * @param tag 标签
17 | * @param message 信息
18 | * @param t 出错信息
19 | */
20 | void log(int priority, String tag, String message, Throwable t);
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/banner/anim/select/RotateEnter.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.banner.anim.select;
2 |
3 | import android.animation.ObjectAnimator;
4 | import android.view.View;
5 |
6 | import com.xuexiang.xui.widget.banner.anim.BaseAnimator;
7 |
8 | /**
9 | *
10 | *
11 | * @author xuexiang
12 | * @since 2018/11/25 下午6:51
13 | */
14 | public class RotateEnter extends BaseAnimator {
15 | public RotateEnter() {
16 | this.mDuration = 200;
17 | }
18 |
19 | @Override
20 | public void setAnimation(View view) {
21 | this.mAnimatorSet.playTogether(ObjectAnimator.ofFloat(view, "rotation", 0, 180));
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/banner/anim/select/ZoomInEnter.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.banner.anim.select;
2 |
3 | import android.animation.ObjectAnimator;
4 | import android.view.View;
5 | import com.xuexiang.xui.widget.banner.anim.BaseAnimator;
6 |
7 | public class ZoomInEnter extends BaseAnimator {
8 |
9 | public ZoomInEnter() {
10 | this.mDuration = 200;
11 | }
12 |
13 | @Override
14 | public void setAnimation(View view) {
15 | this.mAnimatorSet.playTogether(ObjectAnimator.ofFloat(view, "scaleX", 1.0F, 1.5F),
16 | ObjectAnimator.ofFloat(view, "scaleY", 1.0F, 1.5F));
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/banner/anim/unselect/NoAnimExist.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.banner.anim.unselect;
2 |
3 | import android.animation.ObjectAnimator;
4 | import android.view.View;
5 | import com.xuexiang.xui.widget.banner.anim.BaseAnimator;
6 |
7 | public class NoAnimExist extends BaseAnimator {
8 |
9 | public NoAnimExist() {
10 | this.mDuration = 200;
11 | }
12 |
13 | @Override
14 | public void setAnimation(View view) {
15 | this.mAnimatorSet.playTogether(ObjectAnimator.ofFloat(view, "alpha", 1, 1));
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/banner/transform/FadeSlideTransformer.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.banner.transform;
2 |
3 | import androidx.annotation.NonNull;
4 | import androidx.viewpager.widget.ViewPager;
5 | import android.view.View;
6 |
7 | /**
8 | * 侧滑逐渐消失切换
9 | *
10 | * @author xuexiang
11 | * @since 2019/1/14 下午10:10
12 | */
13 | public class FadeSlideTransformer implements ViewPager.PageTransformer {
14 | @Override
15 | public void transformPage(@NonNull View page, float position) {
16 |
17 | page.setTranslationX(0);
18 |
19 | if (position <= -1.0F || position >= 1.0F) {
20 | page.setAlpha(0.0F);
21 | } else if (position == 0.0F) {
22 | page.setAlpha(1.0F);
23 | } else {
24 | // position is between -1.0F & 0.0F OR 0.0F & 1.0F
25 | page.setAlpha(1.0F - Math.abs(position));
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/banner/transform/FlowTransformer.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.banner.transform;
2 |
3 | import androidx.annotation.NonNull;
4 | import androidx.viewpager.widget.ViewPager;
5 | import android.view.View;
6 |
7 | /**
8 | * 翻转切换
9 | *
10 | * @author xuexiang
11 | * @since 2019/1/14 下午10:12
12 | */
13 | public class FlowTransformer implements ViewPager.PageTransformer {
14 |
15 | @Override
16 | public void transformPage(@NonNull View page, float position) {
17 | page.setRotationY(position * -30f);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/banner/transform/RotateDownTransformer.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.banner.transform;
2 |
3 | import android.view.View;
4 |
5 | import androidx.viewpager.widget.ViewPager;
6 |
7 | /**
8 | * 向下旋转切换
9 | *
10 | * @author xuexiang
11 | * @since 2019/1/14 下午10:09
12 | */
13 | public class RotateDownTransformer implements ViewPager.PageTransformer {
14 |
15 | private static final float ROT_MOD = -15f;
16 |
17 | @Override
18 | public void transformPage(View page, float position) {
19 | final float width = page.getWidth();
20 | final float height = page.getHeight();
21 | final float rotation = ROT_MOD * position * -1.25f;
22 |
23 | page.setPivotX(width * 0.5f);
24 | page.setPivotY(height);
25 | page.setRotation(rotation);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/banner/transform/RotateUpTransformer.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.banner.transform;
2 |
3 | import androidx.annotation.NonNull;
4 | import androidx.viewpager.widget.ViewPager;
5 | import android.view.View;
6 | /**
7 | * 向上旋转切换
8 | *
9 | * @author xuexiang
10 | * @since 2019/1/14 下午10:15
11 | */
12 | public class RotateUpTransformer implements ViewPager.PageTransformer {
13 |
14 | private static final float ROT_MOD = -15f;
15 |
16 | @Override
17 | public void transformPage(@NonNull View page, float position) {
18 | final float width = page.getWidth();
19 | final float rotation = ROT_MOD * position;
20 |
21 | page.setPivotX(width * 0.5f);
22 | page.setPivotY(0f);
23 | page.setTranslationX(0f);
24 | page.setRotation(rotation);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/banner/widget/banner/BannerItem.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.banner.widget.banner;
2 |
3 | /**
4 | * 图片轮播条目
5 | *
6 | * @author xuexiang
7 | * @since 2018/11/25 下午7:01
8 | */
9 | public class BannerItem {
10 | public String imgUrl;
11 | public String title;
12 |
13 | public String getImgUrl() {
14 | return imgUrl;
15 | }
16 |
17 | public BannerItem setImgUrl(String imgUrl) {
18 | this.imgUrl = imgUrl;
19 | return this;
20 | }
21 |
22 | public String getTitle() {
23 | return title;
24 | }
25 |
26 | public BannerItem setTitle(String title) {
27 | this.title = title;
28 | return this;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/banner/widget/loopviewpager/FixedSpeedScroller.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.banner.widget.loopviewpager;
2 |
3 | import android.content.Context;
4 | import android.view.animation.Interpolator;
5 | import android.widget.Scroller;
6 |
7 | public class FixedSpeedScroller extends Scroller {
8 | private int mScrollSpeed = 450;
9 |
10 | public FixedSpeedScroller(Context context) {
11 | super(context);
12 | }
13 |
14 | public FixedSpeedScroller(Context context, Interpolator interpolator, int scrollSpeed) {
15 | super(context, interpolator);
16 | this.mScrollSpeed = scrollSpeed;
17 | }
18 |
19 | @Override
20 | public void startScroll(int startX, int startY, int dx, int dy, int duration) {
21 | super.startScroll(startX, startY, dx, dy, this.mScrollSpeed);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/dialog/materialdialog/Theme.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 xuexiangjys(xuexiangjys@163.com)
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | package com.xuexiang.xui.widget.dialog.materialdialog;
19 |
20 | /**
21 | * @author Aidan Follestad (afollestad)
22 | */
23 | public enum Theme {
24 | /**
25 | * 亮色调
26 | */
27 | LIGHT,
28 | /**
29 | * 暗色调
30 | */
31 | DARK
32 | }
33 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/dialog/materialdialog/internal/MDAdapter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 xuexiangjys(xuexiangjys@163.com)
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | package com.xuexiang.xui.widget.dialog.materialdialog.internal;
19 |
20 |
21 | import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog;
22 |
23 | /**
24 | * @author Aidan Follestad (afollestad)
25 | */
26 | public interface MDAdapter {
27 |
28 | void setDialog(MaterialDialog dialog);
29 | }
30 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/edittext/materialedittext/validation/METLengthChecker.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.edittext.materialedittext.validation;
2 |
3 | /**
4 | * 长度验证
5 | *
6 | * @author xuexiang
7 | * @since 2018/11/26 下午5:06
8 | */
9 | public abstract class METLengthChecker {
10 |
11 | public abstract int getLength(CharSequence text);
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/edittext/materialedittext/validation/RegexpValidator.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.edittext.materialedittext.validation;
2 |
3 | import androidx.annotation.NonNull;
4 |
5 | import java.util.regex.Pattern;
6 |
7 | /**
8 | * 正则表达式验证
9 | *
10 | * @author xuexiang
11 | * @since 2018/11/26 下午5:06
12 | */
13 | public class RegexpValidator extends METValidator {
14 |
15 | private Pattern pattern;
16 |
17 | public RegexpValidator(@NonNull String errorMessage, @NonNull String regex) {
18 | super(errorMessage);
19 | pattern = Pattern.compile(regex);
20 | }
21 |
22 | public RegexpValidator(@NonNull String errorMessage, @NonNull Pattern pattern) {
23 | super(errorMessage);
24 | this.pattern = pattern;
25 | }
26 |
27 | @Override
28 | public boolean isValid(@NonNull CharSequence text, boolean isEmpty) {
29 | return pattern.matcher(text).matches();
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/flowlayout/DefaultFlowTagAdapter.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.flowlayout;
2 |
3 | import android.content.Context;
4 | import android.view.View;
5 | import android.widget.TextView;
6 |
7 | import com.xuexiang.xui.R;
8 |
9 | /**
10 | * 默认流标签布局适配器
11 | *
12 | * @author xuexiang
13 | * @since 2019/1/14 下午10:00
14 | */
15 | public class DefaultFlowTagAdapter extends BaseTagAdapter {
16 |
17 | public DefaultFlowTagAdapter(Context context) {
18 | super(context);
19 | }
20 |
21 | @Override
22 | protected TextView newViewHolder(View convertView) {
23 | return (TextView) convertView.findViewById(R.id.tv_tag_item);
24 | }
25 |
26 | @Override
27 | protected int getLayoutId() {
28 | return R.layout.xui_adapter_default_flow_tag_item;
29 | }
30 |
31 | @Override
32 | protected void convert(TextView textView, String item, int position) {
33 | textView.setText(item);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/guidview/DismissListener.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.guidview;
2 |
3 | /**
4 | * Listener for dismissing of one GuideCaseView
5 | */
6 | public interface DismissListener {
7 | /**
8 | * is called when a {@link GuideCaseView} is dismissed
9 | *
10 | * @param id the show once id of the dismissed view
11 | */
12 | void onDismiss(String id);
13 | /**
14 | * is called when a {@link GuideCaseView} is skipped because of it's show once id
15 | *
16 | * @param id the show once id of the dismissed view
17 | */
18 | void onSkipped(String id);
19 | }
20 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/guidview/FocusShape.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.guidview;
2 |
3 | /**
4 | * 聚焦的形状
5 | *
6 | * @author xuexiang
7 | * @since 2018/11/29 上午12:47
8 | */
9 | public enum FocusShape {
10 | /**
11 | * 圆形
12 | */
13 | CIRCLE,
14 | /**
15 | * 圆角矩形
16 | */
17 | ROUNDED_RECTANGLE
18 | }
19 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/guidview/OnCompleteListener.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.guidview;
2 |
3 | /**
4 | * 引导完成的监听
5 | *
6 | * @author xuexiang
7 | * @since 2018/11/29 上午12:48
8 | */
9 | public interface OnCompleteListener {
10 | /**
11 | * 引导完成
12 | */
13 | void onComplete();
14 | }
15 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/guidview/OnViewInflateListener.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.guidview;
2 |
3 | import android.view.View;
4 |
5 | /**
6 | * 监听自定义view的加载
7 | *
8 | * @author xuexiang
9 | * @since 2018/11/29 上午12:48
10 | */
11 | public interface OnViewInflateListener {
12 | void onViewInflated(View view);
13 | }
14 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/imageview/preview/loader/OnVideoClickListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 xuexiangjys(xuexiangjys@163.com)
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.xuexiang.xui.widget.imageview.preview.loader;
18 |
19 | /**
20 | * 视频点击监听
21 | *
22 | * @author xuexiang
23 | * @since 2018/12/5 上午11:09
24 | */
25 | public interface OnVideoClickListener {
26 |
27 | void onPlayerVideo(String url);
28 | }
29 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/picker/wheelview/interfaces/IPickerViewItem.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2019 xuexiangjys(xuexiangjys@163.com)
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.xuexiang.xui.widget.picker.wheelview.interfaces;
18 |
19 | /**
20 | * 选项条目
21 | *
22 | * @author xuexiang
23 | * @since 2019/1/1 下午5:11
24 | */
25 | public interface IPickerViewItem {
26 |
27 | /**
28 | * @return 获取选项显示
29 | */
30 | String getPickerViewText();
31 | }
32 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/picker/widget/listener/CustomListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2019 xuexiangjys(xuexiangjys@163.com)
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.xuexiang.xui.widget.picker.widget.listener;
18 |
19 | import android.view.View;
20 |
21 | /**
22 | * 自定义布局监听
23 | *
24 | * @author xuexiang
25 | * @since 2019/1/1 下午8:21
26 | */
27 | public interface CustomListener {
28 |
29 | void customLayout(View v);
30 | }
31 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/picker/widget/listener/ISelectTimeCallback.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2019 xuexiangjys(xuexiangjys@163.com)
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.xuexiang.xui.widget.picker.widget.listener;
18 |
19 | /**
20 | * 时间选择的回调
21 | *
22 | * @author xuexiang
23 | * @since 2019/1/1 下午7:07
24 | */
25 | public interface ISelectTimeCallback {
26 |
27 | void onTimeSelectChanged();
28 | }
29 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/picker/widget/listener/OnTimeSelectChangeListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2019 xuexiangjys(xuexiangjys@163.com)
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.xuexiang.xui.widget.picker.widget.listener;
18 |
19 | import java.util.Date;
20 |
21 | /**
22 | * 时间选择变化的监听器
23 | *
24 | * @author xuexiang
25 | * @since 2019/1/1 下午7:05
26 | */
27 | public interface OnTimeSelectChangeListener {
28 |
29 | void onTimeSelectChanged(Date date);
30 | }
31 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/popupwindow/easypopup/HorizontalGravity.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.popupwindow.easypopup;
2 |
3 | import androidx.annotation.IntDef;
4 |
5 | import java.lang.annotation.Retention;
6 | import java.lang.annotation.RetentionPolicy;
7 |
8 | /**
9 | * 水平布局方式
10 | *
11 | * @author xuexiang
12 | * @since 2019/1/14 下午10:07
13 | */
14 | @IntDef({
15 | HorizontalGravity.CENTER,
16 | HorizontalGravity.LEFT,
17 | HorizontalGravity.RIGHT,
18 | HorizontalGravity.ALIGN_LEFT,
19 | HorizontalGravity.ALIGN_RIGHT,
20 | })
21 | @Retention(RetentionPolicy.SOURCE)
22 | public @interface HorizontalGravity {
23 | int CENTER = 0;
24 | int LEFT = 1;
25 | int RIGHT = 2;
26 | int ALIGN_LEFT = 3;
27 | int ALIGN_RIGHT = 4;
28 | }
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/popupwindow/easypopup/VerticalGravity.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.popupwindow.easypopup;
2 |
3 | import androidx.annotation.IntDef;
4 |
5 | import java.lang.annotation.Retention;
6 | import java.lang.annotation.RetentionPolicy;
7 |
8 | /**
9 | * 垂直布局方式
10 | *
11 | * @author xuexiang
12 | * @since 2019/1/14 下午10:05
13 | */
14 | @IntDef({
15 | VerticalGravity.CENTER,
16 | VerticalGravity.ABOVE,
17 | VerticalGravity.BELOW,
18 | VerticalGravity.ALIGN_TOP,
19 | VerticalGravity.ALIGN_BOTTOM,
20 | })
21 | @Retention(RetentionPolicy.SOURCE)
22 | public @interface VerticalGravity {
23 | int CENTER = 0;
24 | int ABOVE = 1;
25 | int BELOW = 2;
26 | int ALIGN_TOP = 3;
27 | int ALIGN_BOTTOM = 4;
28 | }
29 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/progress/loading/LoadingCancelListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 xuexiangjys(xuexiangjys@163.com)
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | package com.xuexiang.xui.widget.progress.loading;
19 |
20 | /**
21 | * 取消loading的监听
22 | *
23 | * @author xuexiang
24 | * @since 2019/1/14 下午10:15
25 | */
26 | public interface LoadingCancelListener {
27 | /**
28 | * 取消loading
29 | */
30 | void onCancelLoading();
31 | }
32 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/progress/materialprogressbar/MaterialProgressDrawable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 xuexiangjys(xuexiangjys@163.com)
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | package com.xuexiang.xui.widget.progress.materialprogressbar;
19 |
20 | interface MaterialProgressDrawable {}
21 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/slideback/callback/SlideBackCallBack.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2019 xuexiangjys(xuexiangjys@163.com)
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | package com.xuexiang.xui.widget.slideback.callback;
19 |
20 | /**
21 | * 侧滑事件监听
22 | *
23 | * @author xuexiang
24 | * @since 2019-08-30 9:28
25 | */
26 | public interface SlideBackCallBack {
27 | /**
28 | * 侧滑事件
29 | */
30 | void onSlideBack();
31 | }
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/spinner/editspinner/EditSpinnerFilter.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.spinner.editspinner;
2 |
3 | /**
4 | * 监听输入并过滤
5 | *
6 | * @author xuexiang
7 | * @since 2019/1/14 下午10:14
8 | */
9 | public interface EditSpinnerFilter {
10 | /**
11 | * editText输入监听
12 | *
13 | * @param keyword 关键字
14 | * @return 是否找到匹配项
15 | */
16 | boolean onFilter(String keyword);
17 | }
18 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/statelayout/SimpleAnimationListener.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.statelayout;
2 |
3 | import android.view.animation.Animation;
4 |
5 | /**
6 | * 简易的动画监听
7 | *
8 | * @author xuexiang
9 | * @since 2019-06-06 00:42
10 | */
11 | public class SimpleAnimationListener implements Animation.AnimationListener {
12 |
13 | @Override
14 | public void onAnimationStart(Animation animation) {
15 | }
16 |
17 | @Override
18 | public void onAnimationEnd(Animation animation) {
19 | }
20 |
21 | @Override
22 | public void onAnimationRepeat(Animation animation) {
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/textview/AutoMoveTextView.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.textview;
2 |
3 | import android.content.Context;
4 | import android.text.TextUtils;
5 | import android.util.AttributeSet;
6 |
7 | import androidx.appcompat.widget.AppCompatTextView;
8 |
9 | /**
10 | * 自定义跑马灯Textview类
11 | *
12 | * @author xuexiang
13 | * @since 2018/11/22 上午12:36
14 | */
15 | public class AutoMoveTextView extends AppCompatTextView {
16 | public AutoMoveTextView(Context context) {
17 | super(context);
18 | setEllipsize(TextUtils.TruncateAt.MARQUEE);
19 | }
20 |
21 | public AutoMoveTextView(Context context, AttributeSet attrs) {
22 | super(context, attrs);
23 | setEllipsize(TextUtils.TruncateAt.MARQUEE);
24 | }
25 |
26 | public AutoMoveTextView(Context context, AttributeSet attrs, int defStyle) {
27 | super(context, attrs, defStyle);
28 | setEllipsize(TextUtils.TruncateAt.MARQUEE);
29 | }
30 |
31 | @Override
32 | public boolean isFocused() {
33 | return true;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/xui/src/main/java/com/xuexiang/xui/widget/textview/marqueen/SimpleNoticeMF.java:
--------------------------------------------------------------------------------
1 | package com.xuexiang.xui.widget.textview.marqueen;
2 |
3 | import android.content.Context;
4 | import android.view.LayoutInflater;
5 | import android.widget.TextView;
6 |
7 | import com.xuexiang.xui.R;
8 |
9 | /**
10 | * 简单字幕
11 | */
12 | public class SimpleNoticeMF extends MarqueeFactory {
13 | private LayoutInflater inflater;
14 |
15 | public SimpleNoticeMF(Context context) {
16 | super(context);
17 | inflater = LayoutInflater.from(context);
18 | }
19 |
20 | @Override
21 | public TextView generateMarqueeItemView(String data) {
22 | TextView view = (TextView) inflater.inflate(R.layout.marqueen_layout_notice_item, null);
23 | view.setText(data);
24 | return view;
25 | }
26 | }
--------------------------------------------------------------------------------
/xui/src/main/res/anim/cookiebar_interpolator_slight_anticipate.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/cookiebar_interpolator_slight_overshoot.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/ddm_mask_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/ddm_mask_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/ddm_menu_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/ddm_menu_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/gcv_fade_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/gcv_fade_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/marquee_bottom_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/marquee_bottom_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/marquee_left_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/marquee_left_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/marquee_right_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/marquee_right_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/marquee_top_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/marquee_top_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/md_decelerate_cubic.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/md_popup_enter.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
9 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/md_popup_exit.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
9 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/picker_view_dialog_scale_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
16 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/picker_view_dialog_scale_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
16 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/pop_grow_from_bottom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/pop_grow_from_bottomleft_to_topright.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
16 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/pop_grow_from_bottomright_to_topleft.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
16 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/pop_grow_from_top.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/pop_grow_from_topleft_to_bottomright.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/pop_grow_from_topright_to_bottomleft.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
16 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/pop_shrink_from_bottom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/pop_shrink_from_bottomleft_to_topright.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
16 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/pop_shrink_from_bottomright_to_topleft.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/pop_shrink_from_top.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/pop_shrink_from_topleft_to_bottomright.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
16 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/pop_shrink_from_topright_to_bottomleft.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/srb_rotation.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/srb_scale_down.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/srb_scale_up.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/sv_slide_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/xui/src/main/res/anim/sv_slide_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/xui/src/main/res/color/ms_dropdown_item_textcolor.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/xui/src/main/res/color/swb_md_back_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/xui/src/main/res/color/xui_default_flow_tag_selector_text_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/xui/src/main/res/color/xui_default_round_btn_blue_border.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/xui/src/main/res/color/xui_default_round_btn_blue_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/xui/src/main/res/color/xui_default_round_btn_gray_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/xui/src/main/res/color/xui_default_round_btn_green_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/xui/src/main/res/color/xui_default_round_btn_white_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-hdpi/srb_ic_empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-hdpi/srb_ic_empty.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-hdpi/srb_ic_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-hdpi/srb_ic_filled.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-hdpi/xtoast_frame.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-hdpi/xtoast_frame.9.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-hdpi/xui_bg_center_popwindow.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-hdpi/xui_bg_center_popwindow.9.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-hdpi/xui_ic_arrow_down_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-hdpi/xui_ic_arrow_down_black.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-hdpi/xui_ic_default_img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-hdpi/xui_ic_default_img.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-hdpi/xui_ic_expand_less_black_12dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-hdpi/xui_ic_expand_less_black_12dp.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-hdpi/xui_ic_expand_more_black_12dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-hdpi/xui_ic_expand_more_black_12dp.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-hdpi/xui_ic_no_img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-hdpi/xui_ic_no_img.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-hdpi/xui_icon_check_mark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-hdpi/xui_icon_check_mark.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-hdpi/xui_icon_tip_new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-hdpi/xui_icon_tip_new.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-hdpi/xui_icon_video.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-hdpi/xui_icon_video.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-hdpi/xui_popup_arrow_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-hdpi/xui_popup_arrow_down.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-nodpi/xui_divider.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-nodpi/xui_divider.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/md_btn_selected.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
15 |
16 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/md_btn_selected_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
15 |
16 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/ms_drop_down_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/ms_drop_down_bg_radius.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/ms_ic_arrow_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-v17/ms_ic_arrow_down.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_bg_dialog_radius_white.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_bg_spinner_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
8 |
10 |
11 |
12 |
13 |
14 |
15 | -
16 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_bg_spinner_touch.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
8 |
10 |
11 |
12 |
13 |
14 |
15 | -
16 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_border_separator_light.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
13 |
14 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_color_blue_btn_disable.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_color_blue_btn_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_color_blue_btn_touch.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_color_edittext_disable.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_color_edittext_error.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_color_edittext_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_color_edittext_touch.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_color_primary_btn_normal.xml:
--------------------------------------------------------------------------------
1 |
17 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_color_primary_btn_touch.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_list_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
9 |
10 |
12 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_list_item_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_config_popup_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
9 |
10 |
12 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_divider_top_bitmap.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_ic_default_clear_btn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-v17/xui_ic_default_clear_btn.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_ic_navigation_back_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-v17/xui_ic_navigation_back_white.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_icon_checkbox_checked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-v17/xui_icon_checkbox_checked.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_icon_checkbox_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-v17/xui_icon_checkbox_normal.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_list_item_bg_with_border_bottom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_list_item_bg_with_border_bottom_pressed.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v17/xui_list_item_bg_with_border_none_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/ms_ic_arrow_down.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/pet_icon_visibility_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/pet_icon_visibility_off_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/xui_config_bg_splash.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | -
7 |
10 |
11 |
12 | -
13 |
16 |
17 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/xui_config_color_blue_btn_disable.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/xui_config_color_blue_btn_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/xui_config_color_blue_btn_touch.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/xui_config_color_edittext_disable.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/xui_config_color_edittext_error.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/xui_config_color_edittext_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/xui_config_color_edittext_touch.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/xui_config_color_primary_btn_normal.xml:
--------------------------------------------------------------------------------
1 |
17 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/xui_config_color_primary_btn_touch.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/xui_default_flow_tag_bg_rect_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 | -
10 |
11 |
12 |
13 |
14 |
15 | -
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/xui_icon_checkbox.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-v21/xui_icon_checkbox_normal.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-xxhdpi/xui_bg_bubble_blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-xxhdpi/xui_bg_bubble_blue.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-xxhdpi/xui_ic_slider_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-xxhdpi/xui_ic_slider_icon.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable-xxxhdpi/xui_popup_bg.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aystshen/Android-FactoryTest/7194da635cc46d2f087caa0fe57d8823151e5a67/xui/src/main/res/drawable-xxxhdpi/xui_popup_bg.9.png
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/md_btn_selected.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
15 |
16 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/md_btn_selected_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
15 |
16 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/md_btn_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/md_btn_selector_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/md_item_selected.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/md_item_selected_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/md_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/md_selector_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/md_transparent.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/mlet_selector_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | -
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/ms_background_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/ms_drop_down_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/ms_drop_down_bg_radius.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/ms_ic_arrow_down.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/ms_ic_arrow_up.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/pe_rounded_border_tv.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/pet_icon_visibility_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/pet_icon_visibility_off_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/rb_bg_disabled.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/rb_bg_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/rb_bg_pressed.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/rb_bg_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/stf_ic_empty.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/stf_ic_error.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/stf_ic_location_off.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/stf_ic_offline.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/stv_btn_selector_white.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/tcv_left_option.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
8 |
9 |
14 |
17 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/vcet_shape_bg_focus.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
9 |
10 |
11 |
14 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/vcet_shape_bg_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
9 |
10 |
11 |
14 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/vcet_shape_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xtoast_ic_check_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xtoast_ic_clear_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xtoast_ic_error_outline_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xtoast_ic_info_outline_white_24dp.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_bg_dialog_radius_black.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_bg_dialog_radius_white.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
21 |
22 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_bg_edittext.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
7 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_bg_spinner.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
8 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_bg_spinner_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
8 |
10 |
11 |
12 |
13 |
14 |
15 | -
16 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_bg_spinner_touch.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
8 |
10 |
11 |
12 |
13 |
14 |
15 | -
16 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_bg_splash.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | -
7 |
10 |
11 |
12 | -
13 |
16 |
17 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_border_separator_light.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
13 |
14 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_color_blue_btn_disable.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_color_blue_btn_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_color_blue_btn_touch.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_color_edittext_disable.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_color_edittext_error.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_color_edittext_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_color_edittext_touch.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_color_primary_btn_normal.xml:
--------------------------------------------------------------------------------
1 |
17 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_color_primary_btn_touch.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_list_item_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_config_popup_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
9 |
10 |
12 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_default_flow_tag_bg_rect_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 | -
10 |
11 |
12 |
13 |
14 |
15 | -
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_divider_top_bitmap.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_ic_action_navigation_arrow_back.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_ic_action_navigation_clear.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_ic_expand_arrow_down.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_ic_expand_arrow_up.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_icon_checkbox.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_icon_checkbox_normal.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_icon_switch_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_list_item_bg_with_border_bottom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_list_item_bg_with_border_bottom_pressed.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_list_item_bg_with_border_none_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_list_item_bg_with_border_top.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_popup_arrow_up.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_shape_transparent.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_sign_count_view_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/xui/src/main/res/drawable/xui_tips_point.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout-large/xui_layout_xtoast.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
18 |
19 |
24 |
25 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout-xlarge/xui_layout_xtoast.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
18 |
19 |
24 |
25 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/gcv_layout_image.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
12 |
13 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/gcv_layout_title.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
14 |
15 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/marqueen_layout_notice_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/ms_layout_list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/msv_layout_loading_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
14 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/preview_activity_video_player.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/xmd_layout_stub_progress_indeterminate_horizontal.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
16 |
17 |
23 |
24 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/xui_activity_guide.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/xui_adapter_default_flow_tag_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/xui_adapter_simple_image.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/xui_adapter_simple_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
17 |
18 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/xui_bottom_sheet_grid_item_subscript.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/xui_bottom_sheet_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
20 |
21 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/xui_bottom_sheet_list_item_mark.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/xui_include_titlebar.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/xui_layout_common_list_item_tip_new.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/xui_layout_edit_spinner.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
22 |
23 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/xui_layout_spinner_drop_down_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/xui_layout_spinner_selected_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/xui_layout_verify_code.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
14 |
15 |
16 |
17 |
23 |
24 |
--------------------------------------------------------------------------------
/xui/src/main/res/layout/xui_layout_xtoast.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
18 |
19 |
24 |
25 |
--------------------------------------------------------------------------------