├── HttpClientUtils.iml ├── app ├── app-release.apk ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── base │ │ └── apple │ │ └── demo │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ ├── base │ │ │ └── apple │ │ │ │ └── demo │ │ │ │ ├── DemooBean.java │ │ │ │ ├── api │ │ │ │ ├── LoginApiStores.java │ │ │ │ └── widget │ │ │ │ │ ├── FullyLinearLayoutManager.java │ │ │ │ │ ├── ScrollViewExtend.java │ │ │ │ │ └── loadview │ │ │ │ │ ├── AnimationStatusListener.java │ │ │ │ │ ├── CircleProgressBar.java │ │ │ │ │ ├── JccLoadingView.java │ │ │ │ │ ├── LoadView.java │ │ │ │ │ ├── MaterialFoodView.java │ │ │ │ │ ├── MaterialFooterView.java │ │ │ │ │ ├── MaterialHeadListener.java │ │ │ │ │ ├── MaterialHeadView.java │ │ │ │ │ ├── MaterialHeaderView.java │ │ │ │ │ ├── MaterialProgressDrawable.java │ │ │ │ │ ├── MaterialRefreshLayout.java │ │ │ │ │ ├── MaterialRefreshListener.java │ │ │ │ │ ├── MaterialWaveView.java │ │ │ │ │ ├── SunFaceView.java │ │ │ │ │ ├── SunLayout.java │ │ │ │ │ ├── SunLineView.java │ │ │ │ │ └── Util.java │ │ │ │ ├── common │ │ │ │ ├── AppBaseActivity.java │ │ │ │ ├── AppBaseDialog.java │ │ │ │ ├── AppBaseFragement.java │ │ │ │ ├── AppBaseParams.java │ │ │ │ ├── VerticalSeekBar.java │ │ │ │ └── ZhiHuApp.java │ │ │ │ ├── delay │ │ │ │ ├── view │ │ │ │ │ └── DelayFragement.java │ │ │ │ └── viewmodel │ │ │ │ │ └── DelayViewModel.java │ │ │ │ ├── eq │ │ │ │ ├── view │ │ │ │ │ └── EqFragement.java │ │ │ │ └── viewmodel │ │ │ │ │ └── EqViewModel.java │ │ │ │ ├── highlow │ │ │ │ ├── view │ │ │ │ │ └── HighlowFragement.java │ │ │ │ └── viewmodel │ │ │ │ │ └── HighlowViewModel.java │ │ │ │ ├── main │ │ │ │ ├── view │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ ├── SplashActivity.java │ │ │ │ │ ├── TabAdapter.java │ │ │ │ │ └── ViewPageDemoDemo.java │ │ │ │ └── viewmodel │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ └── MainViewModel.java │ │ │ │ ├── server │ │ │ │ └── EchoServer.java │ │ │ │ ├── sound │ │ │ │ ├── view │ │ │ │ │ └── SoundFragement.java │ │ │ │ └── viewmodel │ │ │ │ │ └── SoundViewModel.java │ │ │ │ └── system │ │ │ │ ├── view │ │ │ │ └── SystemFragement.java │ │ │ │ └── viewmodel │ │ │ │ └── SystemViewModel.java │ │ │ └── viewpagerindicator │ │ │ ├── CirclePageIndicator.java │ │ │ ├── IconPageIndicator.java │ │ │ ├── IconPagerAdapter.java │ │ │ ├── IcsLinearLayout.java │ │ │ ├── LinePageIndicator.java │ │ │ ├── MainActivity.java │ │ │ ├── MainModule.java │ │ │ ├── PageIndicator.java │ │ │ ├── TabFragmentHost.java │ │ │ ├── TabPageIndicator.java │ │ │ ├── TitlePageIndicator.java │ │ │ ├── UnderlinePageIndicator.java │ │ │ └── activity_main.xml │ └── res │ │ ├── color │ │ ├── selector_segment_text_color.xml │ │ ├── vpi__dark_theme.xml │ │ └── vpi__light_theme.xml │ │ ├── drawable-hdpi │ │ ├── vpi__tab_selected_focused_holo.9.png │ │ ├── vpi__tab_selected_holo.9.png │ │ ├── vpi__tab_selected_pressed_holo.9.png │ │ ├── vpi__tab_unselected_focused_holo.9.png │ │ ├── vpi__tab_unselected_holo.9.png │ │ └── vpi__tab_unselected_pressed_holo.9.png │ │ ├── drawable-mdpi │ │ ├── vpi__tab_selected_focused_holo.9.png │ │ ├── vpi__tab_selected_holo.9.png │ │ ├── vpi__tab_selected_pressed_holo.9.png │ │ ├── vpi__tab_unselected_focused_holo.9.png │ │ ├── vpi__tab_unselected_holo.9.png │ │ └── vpi__tab_unselected_pressed_holo.9.png │ │ ├── drawable-xhdpi │ │ ├── btn_dev_off_normal.png │ │ ├── btn_dev_on_normal.png │ │ ├── btn_dev_press.png │ │ ├── btn_normal.png │ │ ├── btn_press.png │ │ ├── carsystem_layout_background.png │ │ ├── checkbox_off.png │ │ ├── checkbox_on.png │ │ ├── frame_normal.9.png │ │ ├── frame_selected.9.png │ │ ├── line_normal.9.png │ │ ├── line_selected.9.png │ │ ├── line_v_normal.9.png │ │ ├── line_v_selected.9.png │ │ ├── selector_btn_mute_v.xml │ │ ├── slip_line_normal.9.png │ │ ├── slip_line_progress.9.png │ │ ├── spin_normal.9.png │ │ ├── spin_press.9.png │ │ ├── spk_normal.png │ │ ├── spk_normal_mute.png │ │ ├── spk_normal_mute_v.png │ │ ├── spk_normal_v.png │ │ ├── spk_press.png │ │ ├── spk_press_mute.png │ │ ├── spk_press_mute_v.png │ │ ├── spk_press_v.png │ │ ├── vpi__tab_selected_focused_holo.9.png │ │ ├── vpi__tab_selected_holo.9.png │ │ ├── vpi__tab_selected_pressed_holo.9.png │ │ ├── vpi__tab_unselected_focused_holo.9.png │ │ ├── vpi__tab_unselected_holo.9.png │ │ └── vpi__tab_unselected_pressed_holo.9.png │ │ ├── drawable │ │ ├── border_title.xml │ │ ├── btn_system_setup_normal.png │ │ ├── btn_system_setup_press.png │ │ ├── fader_normal_h.png │ │ ├── fader_normal_v.png │ │ ├── fader_press_h.png │ │ ├── fader_press_v.png │ │ ├── seekbar_style.xml │ │ ├── selector_btn.xml │ │ ├── selector_btn_dev.xml │ │ ├── selector_btn_mute.xml │ │ ├── selector_btn_mute_v.xml │ │ ├── selector_btn_system_setup.xml │ │ ├── selector_checkbox.xml │ │ ├── selector_seekbar_fader_h.xml │ │ ├── selector_seekbar_fader_v.xml │ │ ├── selector_segment_background.xml │ │ ├── selector_spin_background.xml │ │ └── vpi__tab_indicator.xml │ │ ├── layout │ │ ├── activity_splash.xml │ │ ├── fra_delay.xml │ │ ├── fra_eq.xml │ │ ├── fra_highlow.xml │ │ ├── fra_setting.xml │ │ ├── fra_sound.xml │ │ ├── fragment_car_track_gain.xml │ │ ├── fragment_track_filter.xml │ │ ├── lay_title_bar.xml │ │ ├── main.xml │ │ ├── separator_h.xml │ │ ├── separator_v.xml │ │ └── splash_item.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ ├── car_circle.png │ │ ├── car_topview_full.png │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ ├── styles.xml │ │ ├── vpi__attrs.xml │ │ ├── vpi__colors.xml │ │ ├── vpi__defaults.xml │ │ └── vpi__styles.xml │ └── test │ └── java │ └── com │ └── base │ └── apple │ └── demo │ └── ExampleUnitTest.java ├── apple_httpclient.jks ├── base ├── BaseProject.iml ├── base.iml ├── build.gradle ├── libs │ ├── spring-security-core-4.0.3.RELEASE.jar │ └── universal-image-loader-1.9.4.jar └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── market │ │ └── ApplicationTest.java │ └── main │ ├── AndroidManifest.xml │ ├── assets │ └── wjjsbridge.js │ ├── java │ └── com │ │ └── apple │ │ ├── app │ │ ├── BaseActivity.java │ │ ├── BaseApplication.java │ │ ├── BaseDialog.java │ │ ├── BaseFragment.java │ │ ├── BasePopupWindow.java │ │ ├── MultiDex.java │ │ ├── MultiDexExtractor.java │ │ └── ZipUtil.java │ │ ├── bean │ │ ├── BaseBean.java │ │ └── PreferenceKeyInterface.java │ │ ├── butterknife │ │ ├── Bind.java │ │ ├── BindView.java │ │ └── ViewBinder.java │ │ ├── common │ │ ├── BaseListAdapter.java │ │ └── ViewModel.java │ │ ├── encrypt │ │ ├── BASE64Decoder.java │ │ ├── BASE64Encoder.java │ │ ├── Base64.java │ │ ├── CEFormatException.java │ │ ├── CEStreamExhausted.java │ │ ├── CharacterDecoder.java │ │ ├── CharacterEncoder.java │ │ ├── CryptoUtil.java │ │ ├── DesUtil.java │ │ ├── Md5Algorithm.java │ │ └── WeSecret.java │ │ ├── h5method │ │ ├── BaseJsInteractionMethod.java │ │ └── WebResponseCallback.java │ │ ├── http │ │ ├── common │ │ │ ├── BaseHttpClient.java │ │ │ ├── BaseParams.java │ │ │ └── HttpConfiguration.java │ │ ├── cookie │ │ │ ├── CookieStore.java │ │ │ ├── HasCookieStore.java │ │ │ └── okhttp │ │ │ │ ├── CookieJarImpl.java │ │ │ │ ├── MemoryCookieStore.java │ │ │ │ ├── PersistentCookieStore.java │ │ │ │ └── SerializableHttpCookie.java │ │ ├── entity │ │ │ ├── DownEntity.java │ │ │ ├── DownType.java │ │ │ └── METHOD.java │ │ ├── impl │ │ │ ├── BaseHttpImpl.java │ │ │ ├── async │ │ │ │ └── AsyncHttpImpl.java │ │ │ └── okhttp │ │ │ │ └── OkHttpImpl.java │ │ ├── listener │ │ │ ├── BaseCallback.java │ │ │ ├── DownCallback.java │ │ │ ├── HttpCallback.java │ │ │ ├── UploadCallback.java │ │ │ └── okhttp │ │ │ │ ├── BaseOkCall.java │ │ │ │ ├── DownFileCall.java │ │ │ │ └── ProgressRequestBody.java │ │ ├── retrofit │ │ │ ├── FieldParam.java │ │ │ ├── HttpBaseUrl.java │ │ │ ├── HttpMehod.java │ │ │ └── HttpParse.java │ │ └── utils │ │ │ ├── BasicNameValuePair.java │ │ │ ├── CertificatesUtils.java │ │ │ ├── L.java │ │ │ ├── NameValuePair.java │ │ │ ├── StorageUtils.java │ │ │ └── URLEncodedUtils.java │ │ ├── images │ │ ├── AppImageOptions.java │ │ ├── BaseImageLoadingListener.java │ │ ├── BaseImageProgressListener.java │ │ ├── BaseImages.java │ │ ├── FileUtils.java │ │ └── ImageLoadImpl.java │ │ ├── routable │ │ ├── BuildConfig.java │ │ ├── IRouterAction.java │ │ ├── IRouterCallback.java │ │ ├── IRouterRegister.java │ │ ├── RouterConstant.java │ │ ├── UIRoutable.java │ │ ├── exception │ │ │ └── IIegaURLException.java │ │ └── model │ │ │ ├── Animate.java │ │ │ ├── RouterOptions.java │ │ │ └── RouterParams.java │ │ ├── tool │ │ ├── ACache.java │ │ ├── BitmapUtils.java │ │ ├── DensityUtility.java │ │ ├── DeviceInfo.java │ │ ├── GenericsUtils.java │ │ ├── LoadingDialog.java │ │ ├── LogUtil.java │ │ ├── MD5Util.java │ │ ├── MachineInfo.java │ │ ├── MaskNumber.java │ │ ├── PermissionUtils.java │ │ ├── ReadAllContacts.java │ │ ├── SDKVersionUtils.java │ │ ├── SharedPreferencesMgr.java │ │ ├── StringUtils.java │ │ ├── Toast.java │ │ ├── UserPreferencesMgr.java │ │ ├── Utility.java │ │ ├── Validation.java │ │ └── Validator.java │ │ ├── uichoose │ │ ├── common │ │ │ ├── BaseFilter.java │ │ │ ├── ChooseClient.java │ │ │ ├── ChooseConf.java │ │ │ └── ConfFactory.java │ │ ├── impl │ │ │ └── ChooseImpl.java │ │ └── listener │ │ │ └── ChooseListener.java │ │ └── web │ │ ├── BridgeWebView.java │ │ ├── BridgeWebViewClientProxy.java │ │ ├── IBridgeEngine.java │ │ ├── IBridgeMessage.java │ │ ├── IJSCallback.java │ │ ├── IJSCommandExecuter.java │ │ ├── IRegisterHandler.java │ │ ├── IResponseCallback.java │ │ ├── IWebViewJavascriptBridge.java │ │ ├── SimpleBridgeEngine.java │ │ └── SimpleBridgeMessage.java │ └── res │ ├── anim │ ├── wj_modal_close.xml │ ├── wj_modal_open.xml │ ├── wj_push_close.xml │ └── wj_push_open.xml │ ├── drawable │ ├── indicator_lock_area.png │ └── lock.png │ ├── layout │ └── loading.xml │ └── values │ ├── strings.xml │ └── styles.xml ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /HttpClientUtils.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/app-release.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/app-release.apk -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 24 5 | buildToolsVersion '24.0.1' 6 | defaultConfig { 7 | applicationId "com.base.apple.demo" 8 | minSdkVersion 14 9 | targetSdkVersion 25 10 | versionCode 1 11 | versionName "1.0" 12 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 13 | } 14 | dataBinding { 15 | enabled true 16 | } 17 | buildTypes { 18 | release { 19 | minifyEnabled false 20 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 21 | } 22 | } 23 | } 24 | 25 | dependencies { 26 | compile fileTree(include: ['*.jar'], dir: 'libs') 27 | androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 28 | exclude group: 'com.android.support', module: 'support-annotations' 29 | }) 30 | testCompile 'junit:junit:4.12' 31 | compile project(path: ':BaseProject') 32 | compile 'com.jakewharton:butterknife:7.0.1' 33 | compile 'com.squareup.retrofit2:adapter-rxjava:2.0.1' 34 | compile 'com.trello:rxlifecycle:0.5.0' 35 | compile 'com.trello:rxlifecycle-components:0.5.0' 36 | compile 'com.squareup.picasso:picasso:2.3.2' 37 | compile 'com.google.code.gson:gson:2.8.0' 38 | } 39 | -------------------------------------------------------------------------------- /app/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 /Users/apple_hsp/Documents/soft/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 | -------------------------------------------------------------------------------- /app/src/androidTest/java/com/base/apple/demo/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumentation test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() throws Exception { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("com.base.apple.demo", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 51 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/DemooBean.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo; 2 | 3 | 4 | import java.util.ArrayList; 5 | 6 | /** 7 | *公共基础类 8 | */ 9 | public class DemooBean { 10 | 11 | 12 | ArrayList list; 13 | 14 | 15 | public ArrayList getList() { 16 | return list; 17 | } 18 | 19 | public void setList(ArrayList list) { 20 | this.list = list; 21 | } 22 | 23 | /** 24 | * user : dd 25 | * name : dd 26 | */ 27 | 28 | public class Data{ 29 | private String user; 30 | private String name; 31 | 32 | public String getUser() { 33 | return user; 34 | } 35 | 36 | public void setUser(String user) { 37 | this.user = user; 38 | } 39 | 40 | public String getName() { 41 | return name; 42 | } 43 | 44 | public void setName(String name) { 45 | this.name = name; 46 | } 47 | } 48 | 49 | 50 | } 51 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/api/LoginApiStores.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.api; 2 | 3 | 4 | /** 5 | * Created by apple_hsp on 17/4/11. 6 | */ 7 | 8 | public interface LoginApiStores { 9 | 10 | // @HttpMehod(METHOD.GET) 11 | // @HttpParse(UserBean.class) 12 | // void getUserData(@FieldParam BaseParams baseParams); 13 | // 14 | // @HttpMehod(METHOD.GET) 15 | // void getUserRepos(@FieldParam BaseParams baseParams); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/api/widget/ScrollViewExtend.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.api.widget; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.view.MotionEvent; 6 | import android.widget.ScrollView; 7 | 8 | public class ScrollViewExtend extends ScrollView { 9 | // 滑动距离及坐标 10 | private float xDistance, yDistance, xLast, yLast; 11 | 12 | public ScrollViewExtend(Context context, AttributeSet attrs) { 13 | super(context, attrs); 14 | setOverScrollMode(OVER_SCROLL_NEVER); 15 | } 16 | 17 | @Override 18 | public boolean onInterceptTouchEvent(MotionEvent ev) { 19 | switch (ev.getAction()) { 20 | case MotionEvent.ACTION_DOWN: 21 | xDistance = yDistance = 0f; 22 | xLast = ev.getX(); 23 | yLast = ev.getY(); 24 | break; 25 | case MotionEvent.ACTION_MOVE: 26 | final float curX = ev.getX(); 27 | final float curY = ev.getY(); 28 | 29 | xDistance += Math.abs(curX - xLast); 30 | yDistance += Math.abs(curY - yLast); 31 | xLast = curX; 32 | yLast = curY; 33 | 34 | if(xDistance > yDistance){ 35 | return false; 36 | } 37 | } 38 | 39 | return super.onInterceptTouchEvent(ev); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/api/widget/loadview/AnimationStatusListener.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.api.widget.loadview; 2 | 3 | /** 4 | * Created by terence.wang on 2017/2/28. 5 | */ 6 | 7 | public interface AnimationStatusListener { 8 | 9 | void setStatus(int status); 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/api/widget/loadview/JccLoadingView.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.api.widget.loadview; 2 | 3 | import android.content.Context; 4 | import android.graphics.drawable.AnimationDrawable; 5 | import android.util.AttributeSet; 6 | import android.view.Gravity; 7 | import android.view.LayoutInflater; 8 | import android.view.View; 9 | import android.widget.ImageView; 10 | import android.widget.LinearLayout; 11 | import android.widget.TextView; 12 | 13 | import com.jucaicat.market.R; 14 | 15 | import java.util.Random; 16 | 17 | /** 18 | * Created by terence.wang on 2017/2/27. 19 | */ 20 | 21 | public class JccLoadingView extends LinearLayout{ 22 | 23 | private ImageView mLoadView; 24 | private TextView mLoadText; 25 | private AnimationDrawable frameAnim; 26 | 27 | // 刷新中随机文字 28 | private static final String[] refreshWords = { 29 | "每天赚一杯星爸爸,yohoo", 30 | "传说投资聚财猫的人,智商都超160", 31 | "投资不仅是一种行为,也是一种哲学", 32 | "一分耕耘一分收获,一分投资一分回报", 33 | "蓄积者,天下之大命也。——贾谊", 34 | "没事儿常来赚赚" 35 | }; 36 | 37 | public JccLoadingView(Context context){ 38 | this(context, null); 39 | } 40 | 41 | public JccLoadingView(Context context, AttributeSet attrs) { 42 | super(context, attrs); 43 | initView(); 44 | } 45 | 46 | private void initView(){ 47 | View view = LayoutInflater.from(getContext()).inflate(R.layout.layout_load_header, null, false); 48 | mLoadView = (ImageView) view.findViewById(R.id.ivLoadImage); 49 | mLoadText = (TextView) view.findViewById(R.id.tvLoadText); 50 | LayoutParams layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 51 | layoutParams.gravity = Gravity.CENTER_VERTICAL; 52 | addView(view, layoutParams); 53 | bindData(); 54 | } 55 | 56 | private void bindData(){ 57 | frameAnim = (AnimationDrawable) getResources().getDrawable(R.drawable.fresh_anim); 58 | mLoadView.setImageDrawable(frameAnim); 59 | // Glide.with(getContext()).load(R.drawable.gif_pull_load).asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE).into(mLoadView); 60 | 61 | // mLoadText.setText(getRandomText()); 62 | } 63 | 64 | private String getRandomText(){ 65 | Random random = new Random(); 66 | int index = random.nextInt(refreshWords.length); 67 | return refreshWords[index]; 68 | } 69 | 70 | //开始动画 71 | public void startAnimation(){ 72 | if(frameAnim != null){ 73 | mLoadText.setText(getRandomText()); 74 | frameAnim.start(); 75 | } 76 | } 77 | 78 | //结束动画 79 | public void stopAnimation(){ 80 | if(frameAnim != null){ 81 | frameAnim.stop(); 82 | } 83 | } 84 | 85 | } 86 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/api/widget/loadview/LoadView.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.api.widget.loadview; 2 | 3 | import android.content.Context; 4 | import android.databinding.DataBindingUtil; 5 | import android.util.AttributeSet; 6 | import android.view.LayoutInflater; 7 | import android.view.ViewGroup; 8 | import android.widget.LinearLayout; 9 | 10 | import com.jucaicat.market.LoadViewBinding; 11 | import com.jucaicat.market.R; 12 | 13 | /** 14 | * Created by zhangliang on 2017/3/27. 数据加载 15 | */ 16 | 17 | public class LoadView extends LinearLayout { 18 | private LoadViewBinding loadViewBinding; 19 | 20 | public LoadView(Context context, AttributeSet attrs) { 21 | super(context, attrs); 22 | initView(); 23 | } 24 | 25 | private void initView() { 26 | loadViewBinding = DataBindingUtil.inflate(LayoutInflater.from(getContext()), R.layout.load_view, null, false); 27 | ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 28 | setData(true); 29 | addView(loadViewBinding.getRoot(),layoutParams); 30 | } 31 | 32 | 33 | public void setData(boolean isShow) { 34 | loadViewBinding.setIsNotData(isShow); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/api/widget/loadview/MaterialHeadListener.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.api.widget.loadview; 2 | /* 3 | * Copyright (C) 2015 Pedro Paulo de Amorim 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | public interface MaterialHeadListener { 18 | void onComlete(MaterialRefreshLayout materialRefreshLayout); 19 | void onBegin(MaterialRefreshLayout materialRefreshLayout); 20 | void onPull(MaterialRefreshLayout materialRefreshLayout, float fraction); 21 | void onRelease(MaterialRefreshLayout materialRefreshLayout, float fraction); 22 | void onRefreshing(MaterialRefreshLayout materialRefreshLayout); 23 | } 24 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/api/widget/loadview/MaterialRefreshListener.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.api.widget.loadview; 2 | 3 | public abstract class MaterialRefreshListener { 4 | public void onfinish(){}; 5 | public abstract void onRefresh(MaterialRefreshLayout materialRefreshLayout); 6 | public void onRefreshLoadMore(MaterialRefreshLayout materialRefreshLayout){}; 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/api/widget/loadview/Util.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.api.widget.loadview; 2 | 3 | import android.content.Context; 4 | 5 | public class Util { 6 | 7 | public static int dip2px(Context context, float dpValue) { 8 | final float scale = context.getResources().getDisplayMetrics().density; 9 | return (int) (dpValue * scale + 0.5f); 10 | } 11 | 12 | public static int px2dip(Context context, float pxValue) { 13 | final float scale = context.getResources().getDisplayMetrics().density; 14 | return (int) (pxValue / scale + 0.5f); 15 | } 16 | 17 | public static float limitValue(float a, float b) { 18 | float valve = 0; 19 | final float min = Math.min(a, b); 20 | final float max = Math.max(a, b); 21 | valve = valve > min ? valve : min; 22 | valve = valve < max ? valve : max; 23 | return valve; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/common/AppBaseDialog.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.common; 2 | 3 | import android.app.Activity; 4 | import android.os.Bundle; 5 | import android.view.View; 6 | 7 | import com.apple.app.BaseDialog; 8 | import com.apple.http.common.BaseHttpClient; 9 | 10 | 11 | /** 12 | * 所有dialog 基础类定义 13 | */ 14 | public class AppBaseDialog extends BaseDialog { 15 | 16 | private Activity activity; 17 | 18 | public AppBaseDialog(Activity activity, int style) { 19 | super(activity, style); 20 | this.activity=activity; 21 | } 22 | 23 | @Override 24 | protected void onCreate(Bundle savedInstanceState) { 25 | super.onCreate(savedInstanceState); 26 | setContentView(initView(savedInstanceState)); 27 | initData(activity,savedInstanceState); 28 | initLisitener(); 29 | } 30 | 31 | @Override 32 | protected void onSuccess(String content, BaseHttpClient client, Object parse) { 33 | 34 | } 35 | 36 | @Override 37 | public View initView(Bundle bundle) { 38 | return super.initView(bundle); 39 | } 40 | 41 | @Override 42 | protected void onError(Throwable error, BaseHttpClient client) { 43 | 44 | } 45 | 46 | @Override 47 | protected void initLisitener() { 48 | 49 | } 50 | 51 | 52 | @Override 53 | protected void initData(Activity activity, Bundle savedInstanceState) { 54 | 55 | } 56 | 57 | @Override 58 | protected void initStyle() { 59 | 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/common/AppBaseFragement.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.common; 2 | 3 | 4 | import android.os.Bundle; 5 | import android.support.annotation.Nullable; 6 | import android.view.LayoutInflater; 7 | import android.view.View; 8 | import android.view.ViewGroup; 9 | 10 | import com.apple.app.BaseFragment; 11 | import com.apple.http.common.BaseHttpClient; 12 | 13 | /** 14 | * 我的界面 15 | * Created by android-dev on 15/5/14. 16 | */ 17 | @SuppressWarnings("ALL") 18 | public class AppBaseFragement extends BaseFragment { 19 | 20 | 21 | @Nullable 22 | @Override 23 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 24 | return initView(inflater,container,savedInstanceState); 25 | } 26 | 27 | @Override 28 | protected void initLisitener() { 29 | 30 | } 31 | 32 | @Override 33 | protected void initData(Bundle savedInstanceState) { 34 | 35 | } 36 | 37 | @Override 38 | protected void initStyle() { 39 | 40 | } 41 | 42 | @Override 43 | protected void onSuccess(String content, BaseHttpClient client, Object parse) { 44 | 45 | } 46 | 47 | @Override 48 | protected void onError(Throwable error, BaseHttpClient client) { 49 | 50 | } 51 | 52 | @Override 53 | public void onCreate(@Nullable Bundle savedInstanceState) { 54 | super.onCreate(savedInstanceState); 55 | initData(savedInstanceState); 56 | initLisitener(); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/common/AppBaseParams.java: -------------------------------------------------------------------------------- 1 | /* 2 | Android Asynchronous Http Client 3 | Copyright (c) 2011 James Smith 4 | https://loopj.com 5 | 6 | Licensed under the Apache License, Version 2.0 (the "License"); 7 | you may not use this file except in compliance with the License. 8 | You may obtain a copy of the License at 9 | 10 | https://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | distributed under the License is distributed on an "AS IS" BASIS, 14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | See the License for the specific language governing permissions and 16 | limitations under the License. 17 | */ 18 | 19 | package com.base.apple.demo.common; 20 | 21 | import android.util.Log; 22 | 23 | import com.apple.encrypt.CryptoUtil; 24 | import com.apple.encrypt.DesUtil; 25 | import com.apple.encrypt.Md5Algorithm; 26 | import com.apple.encrypt.WeSecret; 27 | import com.apple.http.common.BaseParams; 28 | import com.apple.tool.LogUtil; 29 | 30 | import java.io.UnsupportedEncodingException; 31 | import java.util.Collections; 32 | import java.util.Random; 33 | 34 | public class AppBaseParams extends BaseParams { 35 | 36 | 37 | 38 | 39 | 40 | } 41 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/common/ZhiHuApp.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.common; 2 | 3 | import android.app.Application; 4 | 5 | import com.apple.http.common.BaseHttpClient; 6 | import com.apple.http.common.HttpConfiguration; 7 | 8 | /** 9 | * Created by kelin on 16-4-12. 10 | */ 11 | public class ZhiHuApp extends Application { 12 | 13 | @Override 14 | public void onCreate() { 15 | super.onCreate(); 16 | HttpConfiguration.Builder configuration = new HttpConfiguration.Builder(getApplicationContext()); 17 | configuration.retryOnConnectionFailure(true); 18 | configuration.diskCacheSize(1000 * 1024); 19 | configuration.connectTimeout(15); 20 | configuration.readTimeout(15); 21 | configuration.writeTimeout(15); 22 | // configuration.setBaseUrl("https://api.jucaicat.com/v2/"); 23 | configuration.diskCacheDir(getCacheDir()); 24 | BaseHttpClient.getBaseClient().init(configuration.build()); 25 | } 26 | 27 | 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/delay/view/DelayFragement.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.delay.view; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.support.v4.app.Fragment; 6 | import android.view.LayoutInflater; 7 | import android.view.View; 8 | import android.view.ViewGroup; 9 | 10 | import com.base.apple.demo.R; 11 | import com.base.apple.demo.delay.viewmodel.DelayViewModel; 12 | 13 | 14 | public class DelayFragement extends Fragment { 15 | 16 | DelayViewModel delayViewModel; 17 | public DelayFragement() { 18 | super(); 19 | } 20 | 21 | @Override 22 | public void onCreate(@Nullable Bundle savedInstanceState) { 23 | super.onCreate(savedInstanceState); 24 | delayViewModel=new DelayViewModel(getActivity()); 25 | } 26 | 27 | @Nullable 28 | @Override 29 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 30 | return delayViewModel.initView(inflater, container, savedInstanceState); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/eq/view/EqFragement.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.eq.view; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.support.v4.app.Fragment; 6 | import android.view.LayoutInflater; 7 | import android.view.View; 8 | import android.view.ViewGroup; 9 | 10 | import com.base.apple.demo.eq.viewmodel.EqViewModel; 11 | import com.base.apple.demo.highlow.viewmodel.HighlowViewModel; 12 | 13 | 14 | public class EqFragement extends Fragment { 15 | 16 | EqViewModel eqViewModel; 17 | 18 | public EqFragement() { 19 | super(); 20 | } 21 | 22 | @Override 23 | public void onCreate(@Nullable Bundle savedInstanceState) { 24 | super.onCreate(savedInstanceState); 25 | eqViewModel=new EqViewModel(getActivity()); 26 | } 27 | 28 | @Nullable 29 | @Override 30 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 31 | return eqViewModel.initView(inflater, container, savedInstanceState); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/highlow/view/HighlowFragement.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.highlow.view; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.support.v4.app.Fragment; 6 | import android.view.LayoutInflater; 7 | import android.view.View; 8 | import android.view.ViewGroup; 9 | 10 | import com.base.apple.demo.highlow.viewmodel.HighlowViewModel; 11 | import com.base.apple.demo.main.view.MainActivity; 12 | import com.base.apple.demo.sound.viewmodel.SoundViewModel; 13 | 14 | 15 | public class HighlowFragement extends Fragment { 16 | 17 | 18 | HighlowViewModel highlowViewModel; 19 | 20 | public HighlowFragement() { 21 | super(); 22 | } 23 | 24 | @Override 25 | public void onCreate(@Nullable Bundle savedInstanceState) { 26 | super.onCreate(savedInstanceState); 27 | highlowViewModel=new HighlowViewModel((MainActivity)getActivity()); 28 | } 29 | 30 | @Nullable 31 | @Override 32 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 33 | return highlowViewModel.initView(inflater, container, savedInstanceState); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/main/view/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.main.view; 2 | 3 | import android.content.ComponentName; 4 | import android.content.Intent; 5 | import android.content.ServiceConnection; 6 | import android.os.Bundle; 7 | import android.os.IBinder; 8 | import android.support.v4.app.Fragment; 9 | import android.support.v4.app.FragmentTransaction; 10 | 11 | import com.base.apple.demo.R; 12 | import com.base.apple.demo.common.AppBaseActivity; 13 | import com.base.apple.demo.main.viewmodel.MainViewModel; 14 | import com.base.apple.demo.server.EchoServer; 15 | 16 | 17 | public class MainActivity extends AppBaseActivity { 18 | 19 | 20 | public MainViewModel mainViewModel; 21 | EchoServer echoServer; 22 | @Override 23 | public void initView(Bundle bundle) { 24 | super.initView(bundle); 25 | mainViewModel=new MainViewModel(this); 26 | mainViewModel.initView(null,null,bundle); 27 | } 28 | 29 | 30 | 31 | 32 | 33 | @Override 34 | protected void initData(Bundle bundle) { 35 | super.initData(bundle); 36 | mainViewModel.initData(bundle); 37 | Intent intent = new Intent(this, EchoServer.class); 38 | bindService(intent, conn, BIND_AUTO_CREATE); 39 | } 40 | 41 | 42 | // /** 43 | // * 替换fragment 44 | // */ 45 | // private void replaceContent(Fragment fragment, String tabId) { 46 | // try { 47 | // FragmentTransaction transaction = () 48 | // .beginTransaction(); 49 | // transaction.add(R.id.lay_content, fragment, tabId); 50 | // transaction.commitAllowingStateLoss(); 51 | // } catch (Exception e) { 52 | // e.printStackTrace(); 53 | // } 54 | // } 55 | 56 | 57 | private ServiceConnection conn = new ServiceConnection() { 58 | @Override 59 | public void onServiceConnected(ComponentName name, IBinder binder) { 60 | echoServer=((EchoServer.EchoServerBinder) binder).getService(); 61 | } 62 | 63 | @Override 64 | public void onServiceDisconnected(ComponentName name) { 65 | } 66 | }; 67 | 68 | 69 | 70 | } 71 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/main/view/TabAdapter.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.main.view; 2 | 3 | import android.support.v4.app.Fragment; 4 | import android.support.v4.app.FragmentManager; 5 | import android.support.v4.app.FragmentPagerAdapter; 6 | 7 | import com.base.apple.demo.delay.view.DelayFragement; 8 | import com.base.apple.demo.eq.view.EqFragement; 9 | import com.base.apple.demo.highlow.view.HighlowFragement; 10 | import com.base.apple.demo.sound.view.SoundFragement; 11 | import com.base.apple.demo.system.view.SystemFragement; 12 | 13 | import java.util.ArrayList; 14 | 15 | 16 | public class TabAdapter extends FragmentPagerAdapter { 17 | 18 | //标题确定有多少个Fragment 19 | public static String[] TITLES = new String[]{"声道", "高低通", "EQ", "延时", "系统"}; 20 | private Fragment soudFra, highlow, eqFra, dedayFra, sysFra; 21 | ArrayList arrayList = new ArrayList<>(); 22 | 23 | public TabAdapter(FragmentManager fm) { 24 | super(fm); 25 | arrayList.add(new SoundFragement()); 26 | arrayList.add(new HighlowFragement()); 27 | arrayList.add(new EqFragement()); 28 | arrayList.add(new DelayFragement()); 29 | arrayList.add(new SystemFragement()); 30 | } 31 | 32 | @Override 33 | public Fragment getItem(int arg0) { 34 | return arrayList.get(arg0); 35 | } 36 | 37 | @Override 38 | public int getCount() { 39 | return TITLES.length; 40 | } 41 | 42 | @Override 43 | public CharSequence getPageTitle(int position) { 44 | return TITLES[position]; 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/main/view/ViewPageDemoDemo.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.main.view; 2 | 3 | import android.content.Context; 4 | import android.support.v4.app.Fragment; 5 | import android.support.v4.app.FragmentManager; 6 | import android.support.v4.app.FragmentPagerAdapter; 7 | import android.support.v4.view.ViewPager; 8 | import android.util.AttributeSet; 9 | import android.util.Log; 10 | import android.view.MotionEvent; 11 | 12 | import com.base.apple.demo.delay.view.DelayFragement; 13 | import com.base.apple.demo.eq.view.EqFragement; 14 | import com.base.apple.demo.highlow.view.HighlowFragement; 15 | import com.base.apple.demo.sound.view.SoundFragement; 16 | import com.base.apple.demo.system.view.SystemFragement; 17 | 18 | import java.util.ArrayList; 19 | 20 | 21 | public class ViewPageDemoDemo extends ViewPager { 22 | 23 | public ViewPageDemoDemo(Context context) { 24 | super(context); 25 | } 26 | 27 | public ViewPageDemoDemo(Context context, AttributeSet attrs) { 28 | super(context, attrs); 29 | } 30 | 31 | @Override 32 | public boolean onTouchEvent(MotionEvent ev) { 33 | Log.e("HU","ViewPageDemoDemo==onTouchEvent="+ev.getAction()); 34 | return super.onTouchEvent(ev); 35 | } 36 | 37 | @Override 38 | public boolean onInterceptTouchEvent(MotionEvent ev) { 39 | Log.e("HU","ViewPageDemoDemo==onInterceptTouchEvent="+ev.getAction()); 40 | return super.onInterceptTouchEvent(ev); 41 | } 42 | 43 | @Override 44 | public boolean dispatchTouchEvent(MotionEvent ev) { 45 | Log.e("HU","ViewPageDemoDemo==dispatchTouchEvent="+ev.getAction()); 46 | return super.dispatchTouchEvent(ev); 47 | } 48 | 49 | 50 | 51 | } 52 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/server/EchoServer.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.server; 2 | 3 | 4 | import android.app.Service; 5 | import android.content.Intent; 6 | import android.os.Binder; 7 | import android.os.IBinder; 8 | import android.support.annotation.Nullable; 9 | import android.widget.Toast; 10 | /** 11 | * Created by apple_hsp on 17/5/18. 12 | */ 13 | 14 | public class EchoServer extends Service { 15 | private Toast toast; 16 | 17 | @Override 18 | public boolean onUnbind(Intent intent) { 19 | return super.onUnbind(intent); 20 | } 21 | 22 | @Nullable 23 | @Override 24 | public IBinder onBind(Intent intent) { 25 | return echoBinder; 26 | } 27 | 28 | public EchoServerBinder echoBinder = new EchoServerBinder(); 29 | 30 | public class EchoServerBinder extends Binder { //必须要实现一个Binder座位onBind的返回值 31 | public EchoServer getService() { 32 | return EchoServer.this; 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/sound/view/SoundFragement.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.sound.view; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.support.v4.app.Fragment; 6 | import android.view.LayoutInflater; 7 | import android.view.View; 8 | import android.view.ViewGroup; 9 | 10 | import com.base.apple.demo.main.view.MainActivity; 11 | import com.base.apple.demo.sound.viewmodel.SoundViewModel; 12 | 13 | 14 | public class SoundFragement extends Fragment { 15 | 16 | SoundViewModel soundViewModel; 17 | 18 | public SoundFragement() { 19 | super(); 20 | } 21 | 22 | @Override 23 | public void onCreate(@Nullable Bundle savedInstanceState) { 24 | super.onCreate(savedInstanceState); 25 | soundViewModel=new SoundViewModel((MainActivity)getActivity()); 26 | } 27 | 28 | @Nullable 29 | @Override 30 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 31 | return soundViewModel.initView(inflater, container, savedInstanceState); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/system/view/SystemFragement.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.system.view; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.support.v4.app.Fragment; 6 | import android.view.LayoutInflater; 7 | import android.view.View; 8 | import android.view.ViewGroup; 9 | 10 | import com.base.apple.demo.system.viewmodel.SystemViewModel; 11 | 12 | 13 | public class SystemFragement extends Fragment { 14 | 15 | 16 | SystemViewModel systemViewModel; 17 | 18 | public SystemFragement() { 19 | super(); 20 | } 21 | 22 | @Override 23 | public void onCreate(@Nullable Bundle savedInstanceState) { 24 | super.onCreate(savedInstanceState); 25 | systemViewModel=new SystemViewModel(getActivity()); 26 | } 27 | 28 | @Nullable 29 | @Override 30 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 31 | return systemViewModel.initView(inflater, container, savedInstanceState); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/com/base/apple/demo/system/viewmodel/SystemViewModel.java: -------------------------------------------------------------------------------- 1 | package com.base.apple.demo.system.viewmodel; 2 | 3 | 4 | import android.app.Activity; 5 | import android.databinding.DataBindingUtil; 6 | import android.os.Bundle; 7 | import android.view.LayoutInflater; 8 | import android.view.View; 9 | import android.view.ViewGroup; 10 | import android.view.inputmethod.InputMethodManager; 11 | 12 | import com.apple.common.ViewModel; 13 | import com.apple.http.common.BaseHttpClient; 14 | import com.base.apple.demo.R; 15 | 16 | 17 | 18 | /** 19 | * Created by kelin on 16-4-28. 20 | */ 21 | public class SystemViewModel extends ViewModel implements View.OnClickListener { 22 | 23 | 24 | 25 | 26 | @Override 27 | public void onClick(View view) { 28 | switch (view.getId()) { 29 | } 30 | } 31 | 32 | 33 | 34 | 35 | @Override 36 | public void initData(Bundle bundle) { 37 | } 38 | 39 | @Override 40 | public View initView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 41 | return act.getLayoutInflater().inflate(R.layout.fra_setting,null); 42 | } 43 | 44 | 45 | Activity act; 46 | 47 | public SystemViewModel(Activity activity) { 48 | this.act = activity; 49 | } 50 | 51 | 52 | 53 | 54 | 55 | @Override 56 | public void success(String content, BaseHttpClient client, Object parse) { 57 | super.success(content, client, parse); 58 | switch (client.getUrlIdentifier()) { 59 | 60 | } 61 | } 62 | 63 | 64 | 65 | 66 | @Override 67 | public void error(Throwable error, BaseHttpClient client) { 68 | super.error(error, client); 69 | } 70 | @Override 71 | public void onResume() { 72 | super.onResume(); 73 | } 74 | 75 | @Override 76 | public void onStop() { 77 | super.onStop(); 78 | } 79 | 80 | @Override 81 | public void onDestory() { 82 | super.onDestory(); 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /app/src/main/java/com/viewpagerindicator/IconPagerAdapter.java: -------------------------------------------------------------------------------- 1 | package com.viewpagerindicator; 2 | 3 | public interface IconPagerAdapter { 4 | /** 5 | * Get icon representing the page at {@code index} in the adapter. 6 | */ 7 | int getIconResId(int index); 8 | 9 | // From PagerAdapter 10 | int getCount(); 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/viewpagerindicator/MainModule.java: -------------------------------------------------------------------------------- 1 | package com.jucaicat.market.modules.main; 2 | 3 | import android.app.Application; 4 | import android.content.Intent; 5 | 6 | import com.jucaicat.market.common.model.AppBaseModuleObject; 7 | import com.jucaicat.market.constants.UIRouterKeys; 8 | import com.jucaicat.market.modules.main.model.HomePage; 9 | import com.wj.uiroutable.UIRoutable; 10 | import com.wj.uiroutable.constants.RouterConstant; 11 | import com.wj.uiroutable.model.RouterOptions; 12 | 13 | import java.util.HashMap; 14 | import java.util.Map; 15 | 16 | /** 17 | * 18 | * 首页模块 19 | * 20 | * Created by terence.wang on 2017/3/7. 21 | */ 22 | 23 | public class MainModule extends AppBaseModuleObject { 24 | 25 | 26 | @Override 27 | protected void routerMapAction() { 28 | super.routerMapAction(); 29 | //首页 30 | Map homeParams = new HashMap<>(); 31 | homeParams.put(RouterConstant.WJ_ROUTER_INTENT_FLAG, Intent.FLAG_ACTIVITY_TASK_ON_HOME|Intent.FLAG_ACTIVITY_SINGLE_TOP); 32 | homeParams.put("homeIndex", HomePage.HOME.getCode()); 33 | UIRoutable.defaultRoutable().map(UIRouterKeys.UI_ROUTER_URL_MAIN, MainActivity.class, RouterOptions.routerOptionsForDefaultParams(homeParams)); 34 | 35 | 36 | //产品列表 37 | Map productListParams = new HashMap<>(); 38 | productListParams.put(RouterConstant.WJ_ROUTER_INTENT_FLAG, Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP); 39 | productListParams.put("homeIndex", HomePage.PRODUCT_LIST.getCode()); 40 | UIRoutable.defaultRoutable().map(UIRouterKeys.UI_ROUTER_URL_PRODUCT_BASELIST, MainActivity.class, RouterOptions.routerOptionsForDefaultParams(productListParams)); 41 | 42 | 43 | //主会场 44 | Map venueParams = new HashMap<>(); 45 | venueParams.put(RouterConstant.WJ_ROUTER_INTENT_FLAG, Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP); 46 | venueParams.put("homeIndex", HomePage.VENUE.getCode()); 47 | UIRoutable.defaultRoutable().map(UIRouterKeys.UI_ROUTER_URL_VENUE, MainActivity.class, RouterOptions.routerOptionsForDefaultParams(venueParams)); 48 | 49 | //资产 50 | Map assetParams = new HashMap<>(); 51 | assetParams.put(RouterConstant.WJ_ROUTER_INTENT_FLAG, Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP); 52 | assetParams.put("homeIndex", HomePage.ASSET.getCode()); 53 | UIRoutable.defaultRoutable().map(UIRouterKeys.UI_ROUTER_URL_ASSETS, MainActivity.class, RouterOptions.routerOptionsForDefaultParams(assetParams)); 54 | 55 | 56 | //我 57 | Map myParams = new HashMap<>(); 58 | myParams.put(RouterConstant.WJ_ROUTER_INTENT_FLAG, Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP); 59 | myParams.put("homeIndex", HomePage.MY.getCode()); 60 | UIRoutable.defaultRoutable().map(UIRouterKeys.UI_ROUTER_URL_MY, MainActivity.class, RouterOptions.routerOptionsForDefaultParams(myParams)); 61 | } 62 | 63 | 64 | 65 | } 66 | -------------------------------------------------------------------------------- /app/src/main/java/com/viewpagerindicator/PageIndicator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 Patrik Akerfeldt 3 | * Copyright (C) 2011 Jake Wharton 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package com.viewpagerindicator; 19 | 20 | import android.support.v4.view.ViewPager; 21 | 22 | /** 23 | * A PageIndicator is responsible to show an visual indicator on the total views 24 | * number and the current visible view. 25 | */ 26 | public interface PageIndicator extends ViewPager.OnPageChangeListener { 27 | /** 28 | * Bind the indicator to a ViewPager. 29 | * 30 | * @param view 31 | */ 32 | void setViewPager(ViewPager view); 33 | 34 | /** 35 | * Bind the indicator to a ViewPager. 36 | * 37 | * @param view 38 | * @param initialPosition 39 | */ 40 | void setViewPager(ViewPager view, int initialPosition); 41 | 42 | /** 43 | *

Set the current page of both the ViewPager and indicator.

44 | * 45 | *

This must be used if you need to set the page before 46 | * the views are drawn on screen (e.g., default start page).

47 | * 48 | * @param item 49 | */ 50 | void setCurrentItem(int item); 51 | 52 | /** 53 | * Set a page change listener which will receive forwarded events. 54 | * 55 | * @param listener 56 | */ 57 | void setOnPageChangeListener(ViewPager.OnPageChangeListener listener); 58 | 59 | /** 60 | * Notify the indicator that the fragment list has changed. 61 | */ 62 | void notifyDataSetChanged(); 63 | } 64 | -------------------------------------------------------------------------------- /app/src/main/java/com/viewpagerindicator/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 11 | 12 | 16 | 17 | 22 | 23 | 29 | 30 | 34 | 35 | 41 | 42 | 43 | 44 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /app/src/main/res/color/selector_segment_text_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/color/vpi__dark_theme.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/color/vpi__light_theme.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/vpi__tab_selected_focused_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-hdpi/vpi__tab_selected_focused_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/vpi__tab_selected_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-hdpi/vpi__tab_selected_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/vpi__tab_selected_pressed_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-hdpi/vpi__tab_selected_pressed_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/vpi__tab_unselected_focused_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-hdpi/vpi__tab_unselected_focused_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/vpi__tab_unselected_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-hdpi/vpi__tab_unselected_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/vpi__tab_unselected_pressed_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-hdpi/vpi__tab_unselected_pressed_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/vpi__tab_selected_focused_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-mdpi/vpi__tab_selected_focused_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/vpi__tab_selected_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-mdpi/vpi__tab_selected_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/vpi__tab_selected_pressed_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-mdpi/vpi__tab_selected_pressed_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/vpi__tab_unselected_focused_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-mdpi/vpi__tab_unselected_focused_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/vpi__tab_unselected_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-mdpi/vpi__tab_unselected_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/vpi__tab_unselected_pressed_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-mdpi/vpi__tab_unselected_pressed_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_dev_off_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/btn_dev_off_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_dev_on_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/btn_dev_on_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_dev_press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/btn_dev_press.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/btn_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/btn_press.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/carsystem_layout_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/carsystem_layout_background.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/checkbox_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/checkbox_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/checkbox_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/checkbox_on.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/frame_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/frame_normal.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/frame_selected.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/frame_selected.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/line_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/line_normal.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/line_selected.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/line_selected.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/line_v_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/line_v_normal.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/line_v_selected.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/line_v_selected.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/selector_btn_mute_v.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/slip_line_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/slip_line_normal.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/slip_line_progress.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/slip_line_progress.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/spin_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/spin_normal.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/spin_press.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/spin_press.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/spk_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/spk_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/spk_normal_mute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/spk_normal_mute.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/spk_normal_mute_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/spk_normal_mute_v.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/spk_normal_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/spk_normal_v.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/spk_press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/spk_press.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/spk_press_mute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/spk_press_mute.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/spk_press_mute_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/spk_press_mute_v.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/spk_press_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/spk_press_v.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/vpi__tab_selected_focused_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/vpi__tab_selected_focused_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/vpi__tab_selected_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/vpi__tab_selected_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/vpi__tab_selected_pressed_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/vpi__tab_selected_pressed_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/vpi__tab_unselected_focused_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/vpi__tab_unselected_focused_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/vpi__tab_unselected_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/vpi__tab_unselected_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/vpi__tab_unselected_pressed_holo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable-xhdpi/vpi__tab_unselected_pressed_holo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/border_title.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/btn_system_setup_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable/btn_system_setup_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/btn_system_setup_press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable/btn_system_setup_press.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/fader_normal_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable/fader_normal_h.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/fader_normal_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable/fader_normal_v.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/fader_press_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable/fader_press_h.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/fader_press_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple317/HttpClientUtils/ef18d39f0cef939d89be0fb07184addef83795ad/app/src/main/res/drawable/fader_press_v.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/seekbar_style.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_btn.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_btn_dev.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_btn_mute.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_btn_mute_v.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_btn_system_setup.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_checkbox.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_seekbar_fader_h.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_seekbar_fader_v.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_segment_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_spin_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/vpi__tab_indicator.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_splash.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 14 | 15 | 26 | 27 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_car_track_gain.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | 19 | 20 | 21 | 26 | 27 | 37 | 38 | 39 | 42 | 43 | 52 | 53 | -------------------------------------------------------------------------------- /app/src/main/res/layout/lay_title_bar.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 11 | 12 | 22 | //垂直分割线 23 | 24 | 25 | 26 | 31 | 32 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /app/src/main/res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 12 | 13 | 14 | 20 | 21 | 31 | //垂直分割线 32 | 33 | 34 | 35 | 40 | 41 | 49 | 50 | 51 | 52 | 53 | 58 | 59 | 60 | //水平分割线 61 | 62 | 63 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /app/src/main/res/layout/separator_h.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/separator_v.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/splash_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 |