Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
Sobot_module_Dev
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sobot_android
Sobot_module_Dev
Commits
06ff406d
Commit
06ff406d
authored
May 21, 2025
by
zhengnw@sobot.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
同步app代码
parent
6ac79ee6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
76 changed files
with
664 additions
and
157 deletions
+664
-157
build.gradle
app/build.gradle
+1
-1
MainActivity.java
app/src/main/java/com/sobot/moduletest/MainActivity.java
+0
-11
activity_main.xml
app/src/main/res/layout/activity_main.xml
+3
-3
build.gradle
sobot_album/build.gradle
+1
-3
sobot-album_publish-mavencentral.gradle
sobot_album/sobot-album_publish-mavencentral.gradle
+1
-1
ItemAction.java
sobot_album/src/main/java/com/sobot/album/ItemAction.java
+2
-2
CameraActivity.java
...rc/main/java/com/sobot/album/activity/CameraActivity.java
+2
-2
DefineStyleActivity.java
...in/java/com/sobot/album/activity/DefineStyleActivity.java
+1
-1
SobotAlbumActivity.java
...ain/java/com/sobot/album/activity/SobotAlbumActivity.java
+3
-3
GalleryActivity.java
.../main/java/com/sobot/album/app/album/GalleryActivity.java
+0
-1
ImageFragment.java
...main/java/com/sobot/album/app/fragment/ImageFragment.java
+0
-6
VideoFragment.java
...main/java/com/sobot/album/app/fragment/VideoFragment.java
+0
-2
GalleryAlbumActivity.java
...ava/com/sobot/album/app/gallery/GalleryAlbumActivity.java
+0
-1
PreviewAlbumActivity.java
...ava/com/sobot/album/app/preview/PreviewAlbumActivity.java
+7
-9
SobotAlbumBaseActivity.java
...main/java/com/sobot/album/mvp/SobotAlbumBaseActivity.java
+1
-0
strings.xml
sobot_album/src/main/res/values-en/strings.xml
+1
-1
strings.xml
sobot_album/src/main/res/values/strings.xml
+1
-1
styles.xml
sobot_album/src/main/res/values/styles.xml
+5
-0
build.gradle
sobot_common/build.gradle
+4
-3
sobot-common-publish-mavencentral.gradle
sobot_common/sobot-common-publish-mavencentral.gradle
+1
-1
SobotCommonHttpUtils.java
...ain/java/com/sobot/common/login/SobotCommonHttpUtils.java
+8
-0
SobotLoginTools.java
...src/main/java/com/sobot/common/login/SobotLoginTools.java
+0
-0
SobotLanguageVersion.java
...ain/java/com/sobot/common/model/SobotLanguageVersion.java
+49
-0
SobotCommonBase64.java
...c/main/java/com/sobot/common/utils/SobotCommonBase64.java
+124
-0
SobotCommonSPUtil.java
...c/main/java/com/sobot/common/utils/SobotCommonSPUtil.java
+147
-0
SobotEventBusUtils.java
.../main/java/com/sobot/common/utils/SobotEventBusUtils.java
+62
-0
SobotResourceUtils.java
.../main/java/com/sobot/common/utils/SobotResourceUtils.java
+67
-1
SobotStringResource.java
...main/java/com/sobot/common/utils/SobotStringResource.java
+47
-0
AndroidManifest.xml
sobot_network/src/main/AndroidManifest.xml
+2
-2
SobotFrescoImageLoader.java
...n/java/com/sobot/pictureframe/SobotFrescoImageLoader.java
+2
-3
SobotGlideImageLoader.java
...in/java/com/sobot/pictureframe/SobotGlideImageLoader.java
+2
-3
SobotUILImageLoader.java
...main/java/com/sobot/pictureframe/SobotUILImageLoader.java
+2
-3
build.gradle
sobot_widget/build.gradle
+1
-1
sobot-widget-publish-mavencentral.gradle
sobot_widget/sobot-widget-publish-mavencentral.gradle
+1
-1
ExternalLiveData.java
...et/src/main/java/androidx/lifecycle/ExternalLiveData.java
+3
-3
Config.java
...c/main/java/com/sobot/widget/livedatabus/core/Config.java
+1
-0
LiveEventBusCore.java
...a/com/sobot/widget/livedatabus/core/LiveEventBusCore.java
+6
-9
Observable.java
...in/java/com/sobot/widget/livedatabus/core/Observable.java
+1
-1
AppUtils.java
...ain/java/com/sobot/widget/livedatabus/utils/AppUtils.java
+2
-1
SobotLoadingLayout.java
...ain/java/com/sobot/widget/loading/SobotLoadingLayout.java
+3
-2
SobotRefreshLayout.java
...a/com/sobot/widget/refresh/layout/SobotRefreshLayout.java
+10
-9
RefreshComponent.java
...com/sobot/widget/refresh/layout/api/RefreshComponent.java
+2
-1
RefreshContent.java
...a/com/sobot/widget/refresh/layout/api/RefreshContent.java
+2
-1
RefreshKernel.java
...va/com/sobot/widget/refresh/layout/api/RefreshKernel.java
+1
-1
RefreshLayout.java
...va/com/sobot/widget/refresh/layout/api/RefreshLayout.java
+4
-3
ProgressDrawable.java
...obot/widget/refresh/layout/drawable/ProgressDrawable.java
+1
-0
ArrowDrawable.java
...com/sobot/widget/refresh/layout/footer/ArrowDrawable.java
+1
-0
ClassicsAbstract.java
.../sobot/widget/refresh/layout/footer/ClassicsAbstract.java
+6
-5
ClassicsFooter.java
...om/sobot/widget/refresh/layout/footer/ClassicsFooter.java
+3
-2
ClassicsHeader.java
...om/sobot/widget/refresh/layout/header/ClassicsHeader.java
+6
-6
DefaultRefreshFooterCreator.java
.../refresh/layout/listener/DefaultRefreshFooterCreator.java
+1
-0
DefaultRefreshHeaderCreator.java
.../refresh/layout/listener/DefaultRefreshHeaderCreator.java
+1
-0
DefaultRefreshInitializer.java
...et/refresh/layout/listener/DefaultRefreshInitializer.java
+1
-0
SimpleComponent.java
...m/sobot/widget/refresh/layout/simple/SimpleComponent.java
+4
-3
SmartUtil.java
.../java/com/sobot/widget/refresh/layout/util/SmartUtil.java
+8
-7
RefreshContentWrapper.java
.../widget/refresh/layout/wrapper/RefreshContentWrapper.java
+5
-4
BaseRecyclerAdapter.java
...com/sobot/widget/ui/calenderview/BaseRecyclerAdapter.java
+3
-2
BaseView.java
.../main/java/com/sobot/widget/ui/calenderview/BaseView.java
+2
-1
CalendarLayout.java
...java/com/sobot/widget/ui/calenderview/CalendarLayout.java
+3
-2
CalendarView.java
...n/java/com/sobot/widget/ui/calenderview/CalendarView.java
+4
-3
CalendarViewDelegate.java
...om/sobot/widget/ui/calenderview/CalendarViewDelegate.java
+1
-1
MonthViewPager.java
...java/com/sobot/widget/ui/calenderview/MonthViewPager.java
+4
-3
SolarTermUtil.java
.../java/com/sobot/widget/ui/calenderview/SolarTermUtil.java
+0
-4
WeekViewPager.java
.../java/com/sobot/widget/ui/calenderview/WeekViewPager.java
+4
-3
YearRecyclerView.java
...va/com/sobot/widget/ui/calenderview/YearRecyclerView.java
+2
-1
YearView.java
.../main/java/com/sobot/widget/ui/calenderview/YearView.java
+2
-1
YearViewAdapter.java
...ava/com/sobot/widget/ui/calenderview/YearViewAdapter.java
+2
-1
YearViewPager.java
.../java/com/sobot/widget/ui/calenderview/YearViewPager.java
+4
-3
EmailSpan.java
...get/src/main/java/com/sobot/widget/ui/rich/EmailSpan.java
+2
-1
SobotStatusBarUtils.java
...va/com/sobot/widget/ui/statusbar/SobotStatusBarUtils.java
+3
-2
StatusBarView.java
...ain/java/com/sobot/widget/ui/statusbar/StatusBarView.java
+2
-1
SobotResourceUtils.java
...in/java/com/sobot/widget/ui/utils/SobotResourceUtils.java
+1
-0
SobotWidgetUtils.java
...main/java/com/sobot/widget/ui/utils/SobotWidgetUtils.java
+2
-1
strings.xml
sobot_widget/src/main/res/values-en/strings.xml
+1
-1
strings_calender.xml
sobot_widget/src/main/res/values-en/strings_calender.xml
+1
-1
strings_calender.xml
sobot_widget/src/main/res/values/strings_calender.xml
+1
-1
No files found.
app/build.gradle
View file @
06ff406d
...
...
@@ -8,7 +8,7 @@ android {
defaultConfig
{
applicationId
"com.sobot.moduletest"
minSdkVersion
1
7
minSdkVersion
1
9
targetSdkVersion
34
versionCode
1
versionName
"1.0"
...
...
app/src/main/java/com/sobot/moduletest/MainActivity.java
View file @
06ff406d
...
...
@@ -5,7 +5,6 @@ import static com.sobot.widget.ui.SobotBaseConstant.REQUEST_CODE_PICTURE;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.graphics.Color
;
import
android.net.Uri
;
import
android.view.View
;
import
android.widget.ImageView
;
...
...
@@ -13,23 +12,13 @@ import android.widget.TextView;
import
androidx.annotation.NonNull
;
//import com.sobot.album.Action;
//import com.sobot.album.AlbumFile;
//import com.sobot.album.SobotAlbum;
//import com.sobot.album.api.widget.Widget;
//import com.sobot.album.app.preview.PreviewAlbumActivity;
import
com.sobot.album.Action
;
import
com.sobot.album.AlbumFile
;
import
com.sobot.album.SobotAlbum
;
import
com.sobot.album.api.widget.Widget
;
import
com.sobot.chat.imageloader.SobotImageLoader
;
import
com.sobot.common.login.SobotLoginTools
;
import
com.sobot.common.login.callback.SobotResultBlock
;
import
com.sobot.common.login.callback.SobotResultCode
;
import
com.sobot.common.login.model.SobotServiceInfoModel
;
import
com.sobot.common.utils.SobotImageUtils
;
import
com.sobot.network.http.db.SobotDownloadManager
;
import
com.sobot.network.http.log.SobotNetLogUtils
;
import
com.sobot.pictureframe.SobotBitmapUtil
;
import
com.sobot.utils.SobotLogUtils
;
import
com.sobot.utils.SobotSDCardUtils
;
...
...
app/src/main/res/layout/activity_main.xml
View file @
06ff406d
...
...
@@ -3,6 +3,7 @@
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/sobot_white"
android:orientation=
"vertical"
tools:context=
".MainActivity"
>
...
...
@@ -11,13 +12,12 @@
<ImageView
android:id=
"@+id/img"
android:layout_width=
"60dp"
android:layout_height=
"60dp"
/>
android:layout_height=
"60dp"
/>
<com.sobot.widget.image.photoview.SobotPhotoView
android:id=
"@+id/img2"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
android:layout_height=
"wrap_content"
/>
<TextView
android:id=
"@+id/tv"
...
...
sobot_album/build.gradle
View file @
06ff406d
...
...
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
android
{
compileSdkVersion
34
defaultConfig
{
minSdkVersion
1
7
minSdkVersion
1
9
targetSdkVersion
34
versionCode
1
versionName
"1.0"
...
...
@@ -28,6 +28,5 @@ dependencies {
}
//添加发布到mavenCentral脚本
apply
from:
'./sobot-album_publish-mavencentral.gradle'
\ No newline at end of file
sobot_album/sobot-album_publish-mavencentral.gradle
View file @
06ff406d
...
...
@@ -12,7 +12,7 @@ task androidSourcesJar(type: Jar) {
ext
{
PUBLISH_GROUP_ID
=
"com.sobot.library"
//项目包名
PUBLISH_ARTIFACT_ID
=
'album'
//项目名
PUBLISH_VERSION
=
'
1.1.2
'
//版本号
PUBLISH_VERSION
=
'
2.0.0
'
//版本号
}
...
...
sobot_album/src/main/java/com/sobot/album/ItemAction.java
View file @
06ff406d
...
...
@@ -15,7 +15,7 @@
*/
package
com
.
sobot
.
album
;
import
android.
content.Context
;
import
android.
app.Activity
;
public
interface
ItemAction
<
T
>
{
...
...
@@ -25,5 +25,5 @@ public interface ItemAction<T> {
* @param context context.
* @param item item.
*/
void
onAction
(
Context
context
,
T
item
);
void
onAction
(
Activity
context
,
T
item
);
}
sobot_album/src/main/java/com/sobot/album/activity/CameraActivity.java
View file @
06ff406d
...
...
@@ -65,7 +65,7 @@ public class CameraActivity extends AppCompatActivity {
.
onCancel
(
new
Action
<
String
>()
{
@Override
public
void
onAction
(
@NonNull
String
result
)
{
Toast
.
makeText
(
CameraActivity
.
this
,
R
.
string
.
canceled
,
Toast
.
LENGTH_LONG
).
show
();
Toast
.
makeText
(
CameraActivity
.
this
,
R
.
string
.
sobot_
canceled
,
Toast
.
LENGTH_LONG
).
show
();
}
})
.
start
();
...
...
@@ -91,7 +91,7 @@ public class CameraActivity extends AppCompatActivity {
.
onCancel
(
new
Action
<
String
>()
{
@Override
public
void
onAction
(
@NonNull
String
result
)
{
Toast
.
makeText
(
CameraActivity
.
this
,
R
.
string
.
canceled
,
Toast
.
LENGTH_LONG
).
show
();
Toast
.
makeText
(
CameraActivity
.
this
,
R
.
string
.
sobot_
canceled
,
Toast
.
LENGTH_LONG
).
show
();
}
})
.
start
();
...
...
sobot_album/src/main/java/com/sobot/album/activity/DefineStyleActivity.java
View file @
06ff406d
...
...
@@ -102,7 +102,7 @@ public class DefineStyleActivity extends AppCompatActivity {
.
onCancel
(
new
Action
<
String
>()
{
@Override
public
void
onAction
(
@NonNull
String
result
)
{
Toast
.
makeText
(
DefineStyleActivity
.
this
,
R
.
string
.
canceled
,
Toast
.
LENGTH_LONG
).
show
();
Toast
.
makeText
(
DefineStyleActivity
.
this
,
R
.
string
.
sobot_
canceled
,
Toast
.
LENGTH_LONG
).
show
();
}
})
.
start
();
...
...
sobot_album/src/main/java/com/sobot/album/activity/SobotAlbumActivity.java
View file @
06ff406d
...
...
@@ -113,7 +113,7 @@ public class SobotAlbumActivity extends SobotBaseActivity {
.
onCancel
(
new
Action
<
String
>()
{
@Override
public
void
onAction
(
@NonNull
String
result
)
{
Toast
.
makeText
(
SobotAlbumActivity
.
this
,
R
.
string
.
canceled
,
Toast
.
LENGTH_LONG
).
show
();
Toast
.
makeText
(
SobotAlbumActivity
.
this
,
R
.
string
.
sobot_
canceled
,
Toast
.
LENGTH_LONG
).
show
();
}
})
.
start
();
...
...
@@ -147,7 +147,7 @@ public class SobotAlbumActivity extends SobotBaseActivity {
.
onCancel
(
new
Action
<
String
>()
{
@Override
public
void
onAction
(
@NonNull
String
result
)
{
Toast
.
makeText
(
SobotAlbumActivity
.
this
,
R
.
string
.
canceled
,
Toast
.
LENGTH_LONG
).
show
();
Toast
.
makeText
(
SobotAlbumActivity
.
this
,
R
.
string
.
sobot_
canceled
,
Toast
.
LENGTH_LONG
).
show
();
}
})
.
start
();
...
...
@@ -234,7 +234,7 @@ public class SobotAlbumActivity extends SobotBaseActivity {
.
onCancel
(
new
Action
<
String
>()
{
@Override
public
void
onAction
(
@NonNull
String
result
)
{
Toast
.
makeText
(
SobotAlbumActivity
.
this
,
R
.
string
.
canceled
,
Toast
.
LENGTH_LONG
).
show
();
Toast
.
makeText
(
SobotAlbumActivity
.
this
,
R
.
string
.
sobot_
canceled
,
Toast
.
LENGTH_LONG
).
show
();
}
})
.
start
();
...
...
sobot_album/src/main/java/com/sobot/album/app/album/GalleryActivity.java
View file @
06ff406d
...
...
@@ -25,7 +25,6 @@ import com.sobot.album.SobotAlbum;
import
com.sobot.album.api.widget.Widget
;
import
com.sobot.album.app.Contract
;
import
com.sobot.album.app.gallery.GalleryView
;
import
com.sobot.album.util.AlbumUtils
;
import
com.sobot.widget.ui.base.SobotBaseActivity
;
import
java.util.ArrayList
;
...
...
sobot_album/src/main/java/com/sobot/album/app/fragment/ImageFragment.java
View file @
06ff406d
...
...
@@ -2,7 +2,6 @@ package com.sobot.album.app.fragment;
import
android.graphics.Bitmap
;
import
android.graphics.BitmapFactory
;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
android.view.LayoutInflater
;
...
...
@@ -10,7 +9,6 @@ import android.view.SoundEffectConstants;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
android.widget.RelativeLayout
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
...
...
@@ -18,21 +16,17 @@ import androidx.fragment.app.Fragment;
import
com.sobot.album.AlbumFile
;
import
com.sobot.album.R
;
import
com.sobot.album.SobotAlbum
;
import
com.sobot.album.widget.photoview.AttacherImageView
;
import
com.sobot.album.widget.photoview.PhotoViewAttacher
;
import
com.sobot.common.utils.SobotImageUtils
;
import
com.sobot.common.utils.SobotPathManager
;
import
com.sobot.network.http.HttpBaseUtils
;
import
com.sobot.pictureframe.SobotBitmapUtil
;
import
com.sobot.utils.SobotDensityUtil
;
import
com.sobot.utils.SobotLogUtils
;
import
com.sobot.utils.SobotMD5Util
;
import
com.sobot.utils.SobotStringUtils
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.FileNotFoundException
;
public
class
ImageFragment
extends
Fragment
implements
PhotoViewAttacher
.
OnViewTapListener
,
View
.
OnLongClickListener
{
private
View
mRootView
;
...
...
sobot_album/src/main/java/com/sobot/album/app/fragment/VideoFragment.java
View file @
06ff406d
...
...
@@ -29,8 +29,6 @@ import com.sobot.album.R;
import
com.sobot.album.SobotAlbum
;
import
com.sobot.utils.SobotStringUtils
;
import
java.io.IOException
;
public
class
VideoFragment
extends
Fragment
{
private
View
mRootView
;
private
VideoView
mVideoView
;
...
...
sobot_album/src/main/java/com/sobot/album/app/gallery/GalleryAlbumActivity.java
View file @
06ff406d
...
...
@@ -25,7 +25,6 @@ import com.sobot.album.SobotAlbum;
import
com.sobot.album.api.widget.Widget
;
import
com.sobot.album.app.Contract
;
import
com.sobot.album.mvp.SobotAlbumBaseActivity
;
import
com.sobot.album.util.AlbumUtils
;
import
java.util.ArrayList
;
...
...
sobot_album/src/main/java/com/sobot/album/app/preview/PreviewAlbumActivity.java
View file @
06ff406d
...
...
@@ -15,7 +15,6 @@
*/
package
com
.
sobot
.
album
.
app
.
preview
;
import
android.os.Bundle
;
import
android.view.View
;
import
android.widget.FrameLayout
;
import
android.widget.TextView
;
...
...
@@ -28,7 +27,6 @@ import com.sobot.album.AlbumFile;
import
com.sobot.album.ItemAction
;
import
com.sobot.album.R
;
import
com.sobot.album.SobotAlbum
;
import
com.sobot.album.api.widget.Widget
;
import
com.sobot.album.app.Contract
;
import
com.sobot.album.mvp.SobotAlbumBaseActivity
;
...
...
@@ -46,7 +44,7 @@ public class PreviewAlbumActivity extends SobotAlbumBaseActivity implements Cont
public
static
ItemAction
<
AlbumFile
>
sClick
;
public
static
ItemAction
<
AlbumFile
>
sLongClick
;
private
Widget
mWidget
;
//
private Widget mWidget;
private
Contract
.
GalleryView
<
AlbumFile
>
mView
;
private
ArrayList
<
AlbumFile
>
mAlbumFiles
;
//预览的图片和视频
...
...
@@ -67,6 +65,7 @@ public class PreviewAlbumActivity extends SobotAlbumBaseActivity implements Cont
@Override
protected
void
initView
()
{
changeAppLanguage
();
mView
=
new
PreviewView
<>(
this
,
getSupportFragmentManager
(),
this
);
this
.
fragmentManager
=
getSupportFragmentManager
();
this
.
mViewPager
=
findViewById
(
R
.
id
.
view_pager
);
...
...
@@ -76,11 +75,11 @@ public class PreviewAlbumActivity extends SobotAlbumBaseActivity implements Cont
this
.
sobot_tv_page
=
findViewById
(
R
.
id
.
sobot_tv_page
);
this
.
sobot_tv_download
.
setOnClickListener
(
this
);
this
.
mLayoutLayer
.
setOnClickListener
(
this
);
Bundle
argument
=
getIntent
().
getExtras
(
);
assert
argument
!=
null
;
mWidget
=
argument
.
getParcelable
(
SobotAlbum
.
KEY_INPUT_WIDGE
T
);
mAlbumFiles
=
argument
.
getParcelableArrayList
(
SobotAlbum
.
KEY_INPUT_CHECKED_LIST
);
mCurrentPosition
=
argument
.
getInt
(
SobotAlbum
.
KEY_INPUT_CURRENT_POSITION
,
0
);
// mWidget = Widget.getDefaultWidget(this
);
if
(
getIntent
()!=
null
)
{
mAlbumFiles
=
getIntent
().
getParcelableArrayListExtra
(
SobotAlbum
.
KEY_INPUT_CHECKED_LIS
T
);
mCurrentPosition
=
getIntent
().
getIntExtra
(
SobotAlbum
.
KEY_INPUT_CURRENT_POSITION
,
0
);
}
mViewPager
.
addOnPageChangeListener
(
new
ViewPager
.
SimpleOnPageChangeListener
()
{
@Override
public
void
onPageSelected
(
int
position
)
{
...
...
@@ -90,7 +89,6 @@ public class PreviewAlbumActivity extends SobotAlbumBaseActivity implements Cont
}
}
});
mView
.
setupViews
(
mWidget
,
true
);
if
(
mCurrentPosition
==
0
)
{
onCurrentChanged
(
mCurrentPosition
);
}
else
{
...
...
sobot_album/src/main/java/com/sobot/album/mvp/SobotAlbumBaseActivity.java
View file @
06ff406d
...
...
@@ -66,6 +66,7 @@ public abstract class SobotAlbumBaseActivity extends SobotBaseActivity implement
@Override
public
final
void
onRequestPermissionsResult
(
int
requestCode
,
@NonNull
String
[]
permissions
,
@NonNull
int
[]
grantResults
)
{
super
.
onRequestPermissionsResult
(
requestCode
,
permissions
,
grantResults
);
if
(
isGrantedResult
(
grantResults
))
onPermissionGranted
(
requestCode
);
else
onPermissionDenied
(
requestCode
);
}
...
...
sobot_album/src/main/res/values-en/strings.xml
View file @
06ff406d
...
...
@@ -88,7 +88,7 @@
<string
name=
"btn_gallery_preview"
>
Preview Network Image
</string>
<string
name=
"checkable"
>
Checkable Options
</string>
<string
name=
"canceled"
>
Canceled
</string>
<string
name=
"
sobot_
canceled"
>
Canceled
</string>
<string
name=
"no_selected"
>
Please select, first.
</string>
<string
name=
"hint_image_preview_click"
>
Click on a item to preview them.
</string>
...
...
sobot_album/src/main/res/values/strings.xml
View file @
06ff406d
...
...
@@ -77,7 +77,7 @@
<string
name=
"menu_preview"
>
图库
</string>
<string
name=
"btn_gallery_preview"
>
预览网络图像
</string>
<string
name=
"checkable"
>
可检查选项
</string>
<string
name=
"canceled"
>
已取消
</string>
<string
name=
"
sobot_
canceled"
>
已取消
</string>
<string
name=
"no_selected"
>
请先选择
</string>
<string
name=
"hint_image_preview_click"
>
单击项目以预览它们
</string>
<string
name=
"hint_filter_after_visibility"
>
是否显示了筛选的文件
</string>
...
...
sobot_album/src/main/res/values/styles.xml
View file @
06ff406d
...
...
@@ -97,6 +97,11 @@
<item
name=
"android:layout_width"
>
match_parent
</item>
<item
name=
"android:layout_height"
>
90dp
</item>
</style>
<style
name=
"sobot_activity_def_theme"
parent=
"Theme.AppCompat.Light.NoActionBar"
>
<item
name=
"android:windowNoTitle"
>
true
</item>
<item
name=
"android:windowIsTranslucent"
>
true
</item>
<item
name=
"android:windowBackground"
>
@android:color/transparent
</item>
</style>
<style
name=
"Button"
>
...
...
sobot_common/build.gradle
View file @
06ff406d
...
...
@@ -6,14 +6,14 @@ android {
compileSdkVersion
34
defaultConfig
{
minSdkVersion
1
4
minSdkVersion
1
9
//添加此行
multiDexEnabled
true
}
//这里就是打jar包
task
makeJar
(
type:
Copy
)
{
//删除旧的jar包
delete
'build/libs/sobot_common_x_2.
2.1
.jar'
delete
'build/libs/sobot_common_x_2.
3.0
.jar'
//原地址
from
(
'build/intermediates/packaged-classes/release/'
)
//导出jar包的地址
...
...
@@ -21,7 +21,7 @@ android {
//包含的jar包
include
(
'classes.jar'
)
//重命名jar包为mysdk
rename
(
'classes.jar'
,
'sobot_common_x_2.
2.1
.jar'
)
rename
(
'classes.jar'
,
'sobot_common_x_2.
3.0
.jar'
)
}
makeJar
.
dependsOn
(
build
)
}
...
...
@@ -34,6 +34,7 @@ dependencies {
// api project(':sobot_network')
// api project(':sobot_gson')
api
'org.greenrobot:eventbus:3.3.1'
api
'com.sobot.library:utils:1.1.3'
api
'com.sobot.library:picture_x:1.2.5'
...
...
sobot_common/sobot-common-publish-mavencentral.gradle
View file @
06ff406d
...
...
@@ -12,7 +12,7 @@ task androidSourcesJar(type: Jar) {
ext
{
PUBLISH_GROUP_ID
=
"com.sobot.library"
//项目包名
PUBLISH_ARTIFACT_ID
=
'sobotcommon_x'
//项目名
PUBLISH_VERSION
=
'2.
2.2
'
//版本号
PUBLISH_VERSION
=
'2.
3.0
'
//版本号
}
...
...
sobot_common/src/main/java/com/sobot/common/login/SobotCommonHttpUtils.java
View file @
06ff406d
...
...
@@ -3,6 +3,7 @@ package com.sobot.common.login;
import
android.content.Context
;
import
android.text.TextUtils
;
import
com.sobot.common.login.model.SobotServiceInfoModel
;
import
com.sobot.network.http.SobotOkHttpUtils
;
import
com.sobot.network.http.builder.PostFormBuilder
;
import
com.sobot.network.http.builder.PostMultipartFormBuilder
;
...
...
@@ -13,6 +14,7 @@ import com.sobot.network.http.log.SobotNetLogUtils;
import
com.sobot.network.http.request.RequestCall
;
import
com.sobot.network.http.upload.SobotUpload
;
import
com.sobot.network.http.upload.SobotUploadTask
;
import
com.sobot.utils.SobotSharedPreferencesUtil
;
import
com.sobot.utils.SobotStringUtils
;
import
org.json.JSONObject
;
...
...
@@ -42,6 +44,12 @@ public class SobotCommonHttpUtils {
}
private
static
String
getTokenId
(
Context
context
)
{
if
(
context
!=
null
&&
SobotLoginTools
.
getInstance
().
getServiceInfo
()
==
null
)
{
SobotServiceInfoModel
mServiceInfoModel
=
SobotSharedPreferencesUtil
.
getInstance
(
context
).
get
(
SobotLoginConstant
.
SOBOT_LOGIN_USER_INFO
,
SobotServiceInfoModel
.
class
);
if
(
mServiceInfoModel
!=
null
)
{
SobotLoginTools
.
getInstance
().
setServiceInfo
(
mServiceInfoModel
);
}
}
String
token
=
SobotLoginTools
.
getInstance
().
getToken
();
return
token
;
}
...
...
sobot_common/src/main/java/com/sobot/common/login/SobotLoginTools.java
View file @
06ff406d
This diff is collapsed.
Click to expand it.
sobot_common/src/main/java/com/sobot/common/model/SobotLanguageVersion.java
0 → 100644
View file @
06ff406d
package
com
.
sobot
.
common
.
model
;
public
class
SobotLanguageVersion
{
/**
* "projectCode": "android",
* "langType": "zh",
* "timestamp": 1744006915549,
* "version": 1742985785852,
*/
private
String
projectCode
;
//语言类型 zh
private
String
langType
;
//请求的时间戳
private
long
timestamp
;
//版本号,比较是否更新本地资源
private
long
version
;
public
String
getProjectCode
()
{
return
projectCode
;
}
public
void
setProjectCode
(
String
projectCode
)
{
this
.
projectCode
=
projectCode
;
}
public
String
getLangType
()
{
return
langType
;
}
public
void
setLangType
(
String
langType
)
{
this
.
langType
=
langType
;
}
public
long
getTimestamp
()
{
return
timestamp
;
}
public
void
setTimestamp
(
long
timestamp
)
{
this
.
timestamp
=
timestamp
;
}
public
long
getVersion
()
{
return
version
;
}
public
void
setVersion
(
long
version
)
{
this
.
version
=
version
;
}
}
sobot_common/src/main/java/com/sobot/common/utils/SobotCommonBase64.java
0 → 100644
View file @
06ff406d
package
com
.
sobot
.
common
.
utils
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.OutputStream
;
public
class
SobotCommonBase64
{
private
static
final
char
[]
legalChars
=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
.
toCharArray
();
public
static
String
encode
(
byte
[]
data
)
{
int
start
=
0
;
int
len
=
data
.
length
;
StringBuffer
buf
=
new
StringBuffer
(
data
.
length
*
3
/
2
);
int
end
=
len
-
3
;
int
i
=
start
;
int
n
=
0
;
while
(
i
<=
end
)
{
int
d
=
((((
int
)
data
[
i
])
&
0x0ff
)
<<
16
)
|
((((
int
)
data
[
i
+
1
])
&
0x0ff
)
<<
8
)
|
(((
int
)
data
[
i
+
2
])
&
0x0ff
);
buf
.
append
(
legalChars
[(
d
>>
18
)
&
63
]);
buf
.
append
(
legalChars
[(
d
>>
12
)
&
63
]);
buf
.
append
(
legalChars
[(
d
>>
6
)
&
63
]);
buf
.
append
(
legalChars
[
d
&
63
]);
i
+=
3
;
if
(
n
++
>=
14
)
{
n
=
0
;
buf
.
append
(
" "
);
}
}
if
(
i
==
start
+
len
-
2
)
{
int
d
=
((((
int
)
data
[
i
])
&
0x0ff
)
<<
16
)
|
((((
int
)
data
[
i
+
1
])
&
255
)
<<
8
);
buf
.
append
(
legalChars
[(
d
>>
18
)
&
63
]);
buf
.
append
(
legalChars
[(
d
>>
12
)
&
63
]);
buf
.
append
(
legalChars
[(
d
>>
6
)
&
63
]);
buf
.
append
(
"="
);
}
else
if
(
i
==
start
+
len
-
1
)
{
int
d
=
(((
int
)
data
[
i
])
&
0x0ff
)
<<
16
;
buf
.
append
(
legalChars
[(
d
>>
18
)
&
63
]);
buf
.
append
(
legalChars
[(
d
>>
12
)
&
63
]);
buf
.
append
(
"=="
);
}
return
buf
.
toString
();
}
private
static
int
decode
(
char
c
)
{
if
(
c
>=
'A'
&&
c
<=
'Z'
)
return
((
int
)
c
)
-
65
;
else
if
(
c
>=
'a'
&&
c
<=
'z'
)
return
((
int
)
c
)
-
97
+
26
;
else
if
(
c
>=
'0'
&&
c
<=
'9'
)
return
((
int
)
c
)
-
48
+
26
+
26
;
else
switch
(
c
)
{
case
'+'
:
return
62
;
case
'/'
:
return
63
;
case
'='
:
return
0
;
default
:
throw
new
RuntimeException
(
"unexpected code: "
+
c
);
}
}
public
static
byte
[]
decode
(
String
s
)
{
ByteArrayOutputStream
bos
=
new
ByteArrayOutputStream
();
try
{
decode
(
s
,
bos
);
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
();
}
byte
[]
decodedBytes
=
bos
.
toByteArray
();
try
{
bos
.
close
();
bos
=
null
;
}
catch
(
IOException
ex
)
{
System
.
err
.
println
(
"Error while decoding BASE64: "
+
ex
.
toString
());
}
return
decodedBytes
;
}
private
static
void
decode
(
String
s
,
OutputStream
os
)
throws
IOException
{
int
i
=
0
;
int
len
=
s
.
length
();
while
(
true
)
{
while
(
i
<
len
&&
s
.
charAt
(
i
)
<=
' '
)
i
++;
if
(
i
==
len
)
break
;
int
tri
=
(
decode
(
s
.
charAt
(
i
))
<<
18
)
+
(
decode
(
s
.
charAt
(
i
+
1
))
<<
12
)
+
(
decode
(
s
.
charAt
(
i
+
2
))
<<
6
)
+
(
decode
(
s
.
charAt
(
i
+
3
)));
os
.
write
((
tri
>>
16
)
&
255
);
if
(
s
.
charAt
(
i
+
2
)
==
'='
)
break
;
os
.
write
((
tri
>>
8
)
&
255
);
if
(
s
.
charAt
(
i
+
3
)
==
'='
)
break
;
os
.
write
(
tri
&
255
);
i
+=
4
;
}
}
}
\ No newline at end of file
sobot_common/src/main/java/com/sobot/common/utils/SobotCommonSPUtil.java
0 → 100644
View file @
06ff406d
package
com
.
sobot
.
common
.
utils
;
import
android.content.Context
;
import
android.content.SharedPreferences
;
import
java.io.ByteArrayInputStream
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.ObjectInputStream
;
import
java.io.ObjectOutputStream
;
import
java.io.StreamCorruptedException
;
public
class
SobotCommonSPUtil
{
private
static
SharedPreferences
sharedPreferences
;
private
static
String
CONFIG
=
"sobot_common"
;
public
static
void
saveStringData
(
Context
context
,
String
key
,
String
value
)
{
if
(
sharedPreferences
==
null
)
{
sharedPreferences
=
context
.
getSharedPreferences
(
CONFIG
,
Context
.
MODE_PRIVATE
);
}
sharedPreferences
.
edit
().
putString
(
key
,
value
).
commit
();
}
public
static
String
getStringData
(
Context
context
,
String
key
)
{
if
(
sharedPreferences
==
null
)
{
sharedPreferences
=
context
.
getSharedPreferences
(
CONFIG
,
Context
.
MODE_PRIVATE
);
}
return
sharedPreferences
.
getString
(
key
,
""
);
}
public
static
void
saveLongData
(
Context
context
,
String
key
,
long
value
)
{
if
(
sharedPreferences
==
null
)
{
sharedPreferences
=
context
.
getSharedPreferences
(
CONFIG
,
Context
.
MODE_PRIVATE
);
}
sharedPreferences
.
edit
().
putLong
(
key
,
value
).
commit
();
}
public
static
long
getLongData
(
Context
context
,
String
key
)
{
if
(
sharedPreferences
==
null
)
{
sharedPreferences
=
context
.
getSharedPreferences
(
CONFIG
,
Context
.
MODE_PRIVATE
);
}
return
sharedPreferences
.
getLong
(
key
,
0
);
}
public
static
void
saveBooleanData
(
Context
context
,
String
key
,
boolean
value
)
{
if
(
sharedPreferences
==
null
)
{
sharedPreferences
=
context
.
getSharedPreferences
(
CONFIG
,
Context
.
MODE_PRIVATE
);
}
sharedPreferences
.
edit
().
putBoolean
(
key
,
value
).
commit
();
}
public
static
Boolean
getBooleanData
(
Context
context
,
String
key
,
Boolean
defValue
)
{
if
(
sharedPreferences
==
null
)
{
sharedPreferences
=
context
.
getSharedPreferences
(
CONFIG
,
Context
.
MODE_PRIVATE
);
}
return
sharedPreferences
.
getBoolean
(
key
,
defValue
);
}
//save object
public
static
void
saveObject
(
Context
context
,
String
key
,
Object
obj
){
SharedPreferences
preferences
=
context
.
getSharedPreferences
(
"base64"
,
Context
.
MODE_PRIVATE
);
//创建字节输出流
ByteArrayOutputStream
baos
=
new
ByteArrayOutputStream
();
try
{
//创建对象输出流,并封装字节流
ObjectOutputStream
oos
=
new
ObjectOutputStream
(
baos
);
//将对象写入字节流
oos
.
writeObject
(
obj
);
//将字节流编码成base64的字符窜
String
productBase64
=
new
String
(
SobotCommonBase64
.
encode
(
baos
.
toByteArray
()));
SharedPreferences
.
Editor
editor
=
preferences
.
edit
();
editor
.
putString
(
key
,
productBase64
);
editor
.
commit
();
}
catch
(
IOException
e
)
{
// Auto-generated catch block
e
.
printStackTrace
();
}
}
public
static
Object
getObjectByKey
(
Context
context
,
String
key
){
SharedPreferences
preferences
=
context
.
getSharedPreferences
(
"base64"
,
Context
.
MODE_PRIVATE
);
String
productBase64
=
preferences
.
getString
(
key
,
null
);
if
(
productBase64
==
null
)
{
return
null
;
}
//读取字节
byte
[]
base64
=
SobotCommonBase64
.
decode
(
productBase64
);
//封装到字节流
ByteArrayInputStream
bais
=
new
ByteArrayInputStream
(
base64
);
try
{
//再次封装
ObjectInputStream
bis
=
new
ObjectInputStream
(
bais
);
try
{
//读取对象
return
bis
.
readObject
();
}
catch
(
ClassNotFoundException
e
)
{
// Auto-generated catch block
e
.
printStackTrace
();
}
}
catch
(
StreamCorruptedException
e
)
{
// Auto-generated catch block
e
.
printStackTrace
();
}
catch
(
IOException
e
)
{
// Auto-generated catch block
e
.
printStackTrace
();
}
return
null
;
}
public
static
void
saveIntData
(
Context
context
,
String
key
,
int
value
)
{
if
(
sharedPreferences
==
null
)
{
sharedPreferences
=
context
.
getSharedPreferences
(
CONFIG
,
Context
.
MODE_PRIVATE
);
}
sharedPreferences
.
edit
().
putInt
(
key
,
value
).
commit
();
}
public
static
int
getIntData
(
Context
context
,
String
key
,
int
defValue
)
{
if
(
sharedPreferences
==
null
)
{
sharedPreferences
=
context
.
getSharedPreferences
(
CONFIG
,
Context
.
MODE_PRIVATE
);
}
return
sharedPreferences
.
getInt
(
key
,
defValue
);
}
public
static
void
removeKey
(
Context
context
,
String
key
){
if
(
sharedPreferences
==
null
){
sharedPreferences
=
context
.
getSharedPreferences
(
CONFIG
,
Context
.
MODE_PRIVATE
);
}
sharedPreferences
.
edit
().
remove
(
key
).
commit
();
}
}
\ No newline at end of file
sobot_common/src/main/java/com/sobot/common/utils/SobotEventBusUtils.java
0 → 100644
View file @
06ff406d
package
com
.
sobot
.
common
.
utils
;
import
org.greenrobot.eventbus.EventBus
;
public
class
SobotEventBusUtils
{
private
SobotEventBusUtils
()
{
// 私有构造防止实例化
}
/**
* 注册事件
*/
public
static
void
register
(
Object
subscriber
)
{
if
(!
EventBus
.
getDefault
().
isRegistered
(
subscriber
))
{
EventBus
.
getDefault
().
register
(
subscriber
);
}
}
/**
* 解注册事件
*/
public
static
void
unregister
(
Object
subscriber
)
{
if
(
EventBus
.
getDefault
().
isRegistered
(
subscriber
))
{
EventBus
.
getDefault
().
unregister
(
subscriber
);
}
}
/**
* 发送普通事件
*/
public
static
void
post
(
Object
event
)
{
EventBus
.
getDefault
().
post
(
event
);
}
/**
* 发送粘滞事件(Sticky Event)
*/
public
static
void
postSticky
(
Object
event
)
{
EventBus
.
getDefault
().
postSticky
(
event
);
}
/**
* 获取粘滞事件(用于获取已发送的 Sticky Event)
*/
public
static
<
T
>
T
getStickyEvent
(
Class
<
T
>
eventType
)
{
return
EventBus
.
getDefault
().
getStickyEvent
(
eventType
);
}
/**
* 移除指定类型的粘滞事件
*/
public
static
<
T
>
void
removeStickyEvent
(
Class
<
T
>
eventType
)
{
EventBus
.
getDefault
().
removeStickyEvent
(
eventType
);
}
/**
* 移除所有粘滞事件
*/
public
static
void
removeAllStickyEvents
()
{
EventBus
.
getDefault
().
removeAllStickyEvents
();
}
}
sobot_common/src/main/java/com/sobot/common/utils/SobotResourceUtils.java
View file @
06ff406d
...
...
@@ -4,12 +4,26 @@ import android.content.Context;
import
android.graphics.Color
;
import
android.os.Environment
;
import
com.sobot.utils.SobotStringUtils
;
import
java.io.BufferedReader
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.FileWriter
;
import
java.io.IOException
;
import
java.io.InputStreamReader
;
import
java.util.Map
;
public
class
SobotResourceUtils
{
public
static
Map
<
String
,
String
>
resource
;
public
static
void
setResource
(
Map
<
String
,
String
>
resource
)
{
SobotResourceUtils
.
resource
=
resource
;
}
public
static
Map
<
String
,
String
>
getResource
()
{
return
resource
;
}
public
static
int
getIdByName
(
Context
context
,
String
className
,
String
resName
)
{
...
...
@@ -37,7 +51,14 @@ public class SobotResourceUtils {
}
public
static
String
getResString
(
Context
context
,
String
name
)
{
return
context
.
getResources
().
getString
(
getResStrId
(
context
,
name
));
String
value
=
""
;
if
(
resource
!=
null
){
value
=
resource
.
get
(
name
);
}
if
(
SobotStringUtils
.
isEmpty
(
value
)){
value
=
context
.
getResources
().
getString
(
getResStrId
(
context
,
name
));
}
return
value
;
}
public
static
int
getResId
(
Context
context
,
String
name
)
{
...
...
@@ -103,4 +124,48 @@ public class SobotResourceUtils {
}
return
stringBuffer
.
toString
();
}
/**
* 写入content到fileName
*
* @param fileName 文件路径
* @param content 写入的内容
* @param append 是否为append
*/
public
static
void
writeStringToFile
(
String
fileName
,
String
content
,
boolean
append
)
{
try
{
checkFilePath
(
fileName
);
//使用true,即进行append file
FileWriter
fileWritter
=
new
FileWriter
(
fileName
,
append
);
fileWritter
.
write
(
content
);
fileWritter
.
close
();
System
.
out
.
println
(
"finish"
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
public
static
void
checkFilePath
(
String
fileName
)
{
File
file
=
new
File
(
fileName
.
substring
(
0
,
fileName
.
lastIndexOf
(
"/"
)
+
1
));
if
(!
file
.
isDirectory
())
{
file
.
mkdirs
();
}
file
=
new
File
(
fileName
);
if
(!
file
.
isFile
())
{
try
{
file
.
createNewFile
();
}
catch
(
IOException
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
}
}
}
\ No newline at end of file
sobot_common/src/main/java/com/sobot/common/utils/SobotStringResource.java
0 → 100644
View file @
06ff406d
package
com
.
sobot
.
common
.
utils
;
import
android.content.Context
;
import
com.sobot.utils.SobotStringUtils
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 下载的String 资源
*/
public
class
SobotStringResource
{
public
static
Map
<
String
,
String
>
map
=
new
HashMap
<>();
public
static
String
SOBOT_LANGUAGE_VERSION
=
"sobot_language_version_"
;
public
static
String
SOBOT_LANGUAGE_CODE
=
"sobot_language_code_"
;
public
static
String
getString
(
String
str
)
{
if
(
map
==
null
||
map
.
isEmpty
()){
return
""
;
}
String
strValue
=
map
.
get
(
str
);
if
(
SobotStringUtils
.
isEmpty
(
strValue
)){
strValue
=
""
;
}
return
strValue
;
}
public
static
String
getString
(
Context
context
,
String
str
)
{
String
strValue
=
map
.
get
(
str
);
if
(
SobotStringUtils
.
isEmpty
(
strValue
)){
strValue
=
context
.
getResources
().
getString
(
getIdByName
(
context
,
str
));
}
return
strValue
;
}
public
static
int
getIdByName
(
Context
context
,
String
resName
)
{
context
=
context
.
getApplicationContext
();
String
packageName
=
context
.
getPackageName
();
int
indentify
=
context
.
getResources
().
getIdentifier
(
resName
,
"string"
,
packageName
);
return
indentify
;
}
public
static
void
setMap
(
Map
<
String
,
String
>
map
)
{
SobotStringResource
.
map
=
map
;
}
}
sobot_network/src/main/AndroidManifest.xml
View file @
06ff406d
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"com.sobot.network"
>
<manifest
package=
"com.sobot.network"
>
</manifest>
\ No newline at end of file
sobot_pictureframe/src/main/java/com/sobot/pictureframe/SobotFrescoImageLoader.java
View file @
06ff406d
...
...
@@ -4,13 +4,12 @@ import android.content.Context;
import
android.graphics.Bitmap
;
import
android.net.Uri
;
import
android.os.AsyncTask
;
import
android.text.TextUtils
;
import
android.widget.ImageView
;
import
androidx.annotation.DrawableRes
;
import
androidx.annotation.Nullable
;
import
android.text.TextUtils
;
import
android.widget.ImageView
;
import
com.facebook.common.executors.UiThreadImmediateExecutorService
;
import
com.facebook.common.references.CloseableReference
;
import
com.facebook.datasource.DataSource
;
...
...
sobot_pictureframe/src/main/java/com/sobot/pictureframe/SobotGlideImageLoader.java
View file @
06ff406d
...
...
@@ -2,13 +2,12 @@ package com.sobot.pictureframe;
import
android.content.Context
;
import
android.graphics.Bitmap
;
import
androidx.annotation.DrawableRes
;
import
android.net.Uri
;
import
android.text.TextUtils
;
import
android.widget.ImageView
;
import
androidx.annotation.DrawableRes
;
import
com.bumptech.glide.BitmapRequestBuilder
;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.request.RequestListener
;
...
...
sobot_pictureframe/src/main/java/com/sobot/pictureframe/SobotUILImageLoader.java
View file @
06ff406d
...
...
@@ -2,14 +2,13 @@ package com.sobot.pictureframe;
import
android.content.Context
;
import
android.graphics.Bitmap
;
import
androidx.annotation.DrawableRes
;
import
android.net.Uri
;
import
android.text.TextUtils
;
import
android.view.View
;
import
android.widget.ImageView
;
import
androidx.annotation.DrawableRes
;
import
com.nostra13.universalimageloader.core.DisplayImageOptions
;
import
com.nostra13.universalimageloader.core.ImageLoader
;
import
com.nostra13.universalimageloader.core.ImageLoaderConfiguration
;
...
...
sobot_widget/build.gradle
View file @
06ff406d
...
...
@@ -4,7 +4,7 @@ android {
compileSdkVersion
34
defaultConfig
{
minSdkVersion
1
7
minSdkVersion
1
9
//添加此行
multiDexEnabled
true
}
...
...
sobot_widget/sobot-widget-publish-mavencentral.gradle
View file @
06ff406d
...
...
@@ -12,7 +12,7 @@ task androidSourcesJar(type: Jar) {
ext
{
PUBLISH_GROUP_ID
=
"com.sobot.library"
//项目包名
PUBLISH_ARTIFACT_ID
=
'widget_x'
//项目名
PUBLISH_VERSION
=
'
1.3.2
'
//版本号
PUBLISH_VERSION
=
'
2.0.0
'
//版本号
}
...
...
sobot_widget/src/main/java/androidx/lifecycle/ExternalLiveData.java
View file @
06ff406d
package
androidx
.
lifecycle
;
import
static
androidx
.
lifecycle
.
Lifecycle
.
State
.
CREATED
;
import
static
androidx
.
lifecycle
.
Lifecycle
.
State
.
DESTROYED
;
import
androidx.annotation.NonNull
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.Method
;
import
static
androidx
.
lifecycle
.
Lifecycle
.
State
.
CREATED
;
import
static
androidx
.
lifecycle
.
Lifecycle
.
State
.
DESTROYED
;
/**
* Created by liaohailiang on 2019/3/7.
*/
...
...
sobot_widget/src/main/java/com/sobot/widget/livedatabus/core/Config.java
View file @
06ff406d
package
com
.
sobot
.
widget
.
livedatabus
.
core
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
com.sobot.widget.livedatabus.logger.Logger
;
...
...
sobot_widget/src/main/java/com/sobot/widget/livedatabus/core/LiveEventBusCore.java
View file @
06ff406d
...
...
@@ -4,14 +4,6 @@ import static android.content.Context.RECEIVER_EXPORTED;
import
android.annotation.SuppressLint
;
import
android.app.Application
;
import
androidx.lifecycle.ExternalLiveData
;
import
androidx.lifecycle.Lifecycle
;
import
androidx.lifecycle.LifecycleOwner
;
import
androidx.lifecycle.LiveData
;
import
androidx.lifecycle.Observer
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.IntentFilter
;
import
android.os.Build
;
...
...
@@ -21,6 +13,11 @@ import android.os.Looper;
import
androidx.annotation.MainThread
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.lifecycle.ExternalLiveData
;
import
androidx.lifecycle.Lifecycle
;
import
androidx.lifecycle.LifecycleOwner
;
import
androidx.lifecycle.LiveData
;
import
androidx.lifecycle.Observer
;
import
com.sobot.widget.livedatabus.ipc.consts.IpcConst
;
import
com.sobot.widget.livedatabus.ipc.core.ProcessorManager
;
...
...
@@ -541,7 +538,7 @@ public final class LiveEventBusCore {
preventNextEvent
=
false
;
return
;
}
logger
.
log
(
Level
.
INFO
,
"message received: "
+
t
);
logger
.
log
(
Level
.
INFO
,
"
live_eventbus
message received: "
+
t
);
try
{
observer
.
onChanged
(
t
);
}
catch
(
ClassCastException
e
)
{
...
...
sobot_widget/src/main/java/com/sobot/widget/livedatabus/core/Observable.java
View file @
06ff406d
package
com
.
sobot
.
widget
.
livedatabus
.
core
;
import
androidx.annotation.NonNull
;
import
androidx.lifecycle.LifecycleOwner
;
import
androidx.lifecycle.Observer
;
import
androidx.annotation.NonNull
;
public
interface
Observable
<
T
>
{
...
...
sobot_widget/src/main/java/com/sobot/widget/livedatabus/utils/AppUtils.java
View file @
06ff406d
...
...
@@ -7,10 +7,11 @@ import android.app.Application;
import
android.app.Application.ActivityLifecycleCallbacks
;
import
android.content.Context
;
import
android.os.Bundle
;
import
androidx.core.content.FileProvider
;
import
android.view.View
;
import
android.view.inputmethod.InputMethodManager
;
import
androidx.core.content.FileProvider
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.HashMap
;
...
...
sobot_widget/src/main/java/com/sobot/widget/loading/SobotLoadingLayout.java
View file @
06ff406d
...
...
@@ -21,8 +21,6 @@ import android.app.Fragment;
import
android.content.Context
;
import
android.content.res.TypedArray
;
import
android.graphics.drawable.Drawable
;
import
androidx.annotation.DrawableRes
;
import
androidx.annotation.LayoutRes
;
import
android.util.AttributeSet
;
import
android.util.TypedValue
;
import
android.view.LayoutInflater
;
...
...
@@ -32,6 +30,9 @@ import android.widget.FrameLayout;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
androidx.annotation.DrawableRes
;
import
androidx.annotation.LayoutRes
;
import
com.sobot.widget.R
;
import
java.util.HashMap
;
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/SobotRefreshLayout.java
View file @
06ff406d
...
...
@@ -24,15 +24,6 @@ import android.graphics.Paint;
import
android.os.Build
;
import
android.os.Handler
;
import
android.os.Looper
;
import
androidx.annotation.ColorInt
;
import
androidx.annotation.ColorRes
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.core.content.ContextCompat
;
import
androidx.core.view.NestedScrollingChildHelper
;
import
androidx.core.view.NestedScrollingParent
;
import
androidx.core.view.NestedScrollingParentHelper
;
import
androidx.core.view.ViewCompat
;
import
android.util.AttributeSet
;
import
android.view.Gravity
;
import
android.view.MotionEvent
;
...
...
@@ -48,6 +39,16 @@ import android.widget.Scroller;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.annotation.ColorInt
;
import
androidx.annotation.ColorRes
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.core.content.ContextCompat
;
import
androidx.core.view.NestedScrollingChildHelper
;
import
androidx.core.view.NestedScrollingParent
;
import
androidx.core.view.NestedScrollingParentHelper
;
import
androidx.core.view.ViewCompat
;
import
com.sobot.widget.R
;
import
com.sobot.widget.refresh.layout.api.RefreshComponent
;
import
com.sobot.widget.refresh.layout.api.RefreshContent
;
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/api/RefreshComponent.java
View file @
06ff406d
...
...
@@ -4,10 +4,11 @@ import static androidx.annotation.RestrictTo.Scope.LIBRARY;
import
static
androidx
.
annotation
.
RestrictTo
.
Scope
.
LIBRARY_GROUP
;
import
static
androidx
.
annotation
.
RestrictTo
.
Scope
.
SUBCLASSES
;
import
android.view.View
;
import
androidx.annotation.ColorInt
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.RestrictTo
;
import
android.view.View
;
import
com.sobot.widget.refresh.layout.constant.SpinnerStyle
;
import
com.sobot.widget.refresh.layout.listener.OnStateChangedListener
;
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/api/RefreshContent.java
View file @
06ff406d
package
com
.
sobot
.
widget
.
refresh
.
layout
.
api
;
import
android.animation.ValueAnimator.AnimatorUpdateListener
;
import
androidx.annotation.NonNull
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
androidx.annotation.NonNull
;
import
com.sobot.widget.refresh.layout.listener.ScrollBoundaryDecider
;
/**
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/api/RefreshKernel.java
View file @
06ff406d
package
com
.
sobot
.
widget
.
refresh
.
layout
.
api
;
import
android.animation.ValueAnimator
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
com.sobot.widget.refresh.layout.constant.RefreshState
;
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/api/RefreshLayout.java
View file @
06ff406d
package
com
.
sobot
.
widget
.
refresh
.
layout
.
api
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.animation.Interpolator
;
import
androidx.annotation.ColorInt
;
import
androidx.annotation.ColorRes
;
import
androidx.annotation.FloatRange
;
import
androidx.annotation.IdRes
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.animation.Interpolator
;
import
com.sobot.widget.refresh.layout.constant.RefreshState
;
import
com.sobot.widget.refresh.layout.listener.OnLoadMoreListener
;
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/drawable/ProgressDrawable.java
View file @
06ff406d
...
...
@@ -7,6 +7,7 @@ import android.graphics.Path;
import
android.graphics.Rect
;
import
android.graphics.drawable.Animatable
;
import
android.graphics.drawable.Drawable
;
import
androidx.annotation.NonNull
;
/**
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/footer/ArrowDrawable.java
View file @
06ff406d
...
...
@@ -4,6 +4,7 @@ import android.graphics.Canvas;
import
android.graphics.Path
;
import
android.graphics.Rect
;
import
android.graphics.drawable.Drawable
;
import
androidx.annotation.NonNull
;
import
com.sobot.widget.refresh.layout.drawable.PaintDrawable
;
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/footer/ClassicsAbstract.java
View file @
06ff406d
...
...
@@ -7,17 +7,18 @@ import android.graphics.Bitmap;
import
android.graphics.drawable.Animatable
;
import
android.graphics.drawable.BitmapDrawable
;
import
android.graphics.drawable.Drawable
;
import
androidx.annotation.ColorInt
;
import
androidx.annotation.ColorRes
;
import
androidx.annotation.DrawableRes
;
import
androidx.annotation.NonNull
;
import
androidx.core.content.ContextCompat
;
import
android.util.AttributeSet
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
androidx.annotation.ColorInt
;
import
androidx.annotation.ColorRes
;
import
androidx.annotation.DrawableRes
;
import
androidx.annotation.NonNull
;
import
androidx.core.content.ContextCompat
;
import
com.sobot.widget.R
;
import
com.sobot.widget.refresh.layout.api.RefreshComponent
;
import
com.sobot.widget.refresh.layout.api.RefreshKernel
;
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/footer/ClassicsFooter.java
View file @
06ff406d
...
...
@@ -2,13 +2,14 @@ package com.sobot.widget.refresh.layout.footer;
import
android.content.Context
;
import
android.content.res.TypedArray
;
import
androidx.annotation.ColorInt
;
import
androidx.annotation.NonNull
;
import
android.util.AttributeSet
;
import
android.util.TypedValue
;
import
android.view.View
;
import
android.widget.RelativeLayout
;
import
androidx.annotation.ColorInt
;
import
androidx.annotation.NonNull
;
import
com.sobot.widget.R
;
import
com.sobot.widget.refresh.layout.api.RefreshFooter
;
import
com.sobot.widget.refresh.layout.api.RefreshLayout
;
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/header/ClassicsHeader.java
View file @
06ff406d
...
...
@@ -6,11 +6,6 @@ import android.annotation.SuppressLint;
import
android.content.Context
;
import
android.content.SharedPreferences
;
import
android.content.res.TypedArray
;
import
androidx.annotation.ColorInt
;
import
androidx.annotation.NonNull
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.fragment.app.FragmentManager
;
import
android.util.AttributeSet
;
import
android.util.TypedValue
;
import
android.view.View
;
...
...
@@ -19,6 +14,12 @@ import android.widget.LinearLayout;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
androidx.annotation.ColorInt
;
import
androidx.annotation.NonNull
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.fragment.app.FragmentManager
;
import
com.sobot.widget.R
;
import
com.sobot.widget.refresh.layout.api.RefreshHeader
;
import
com.sobot.widget.refresh.layout.api.RefreshLayout
;
...
...
@@ -33,7 +34,6 @@ import java.text.DateFormat;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Locale
;
/**
* 经典下拉头部
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/listener/DefaultRefreshFooterCreator.java
View file @
06ff406d
package
com
.
sobot
.
widget
.
refresh
.
layout
.
listener
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
com.sobot.widget.refresh.layout.api.RefreshFooter
;
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/listener/DefaultRefreshHeaderCreator.java
View file @
06ff406d
package
com
.
sobot
.
widget
.
refresh
.
layout
.
listener
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
com.sobot.widget.refresh.layout.api.RefreshHeader
;
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/listener/DefaultRefreshInitializer.java
View file @
06ff406d
package
com
.
sobot
.
widget
.
refresh
.
layout
.
listener
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
com.sobot.widget.refresh.layout.api.RefreshLayout
;
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/simple/SimpleComponent.java
View file @
06ff406d
...
...
@@ -4,14 +4,15 @@ import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import
android.annotation.SuppressLint
;
import
android.content.Context
;
import
androidx.annotation.ColorInt
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
android.util.AttributeSet
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.RelativeLayout
;
import
androidx.annotation.ColorInt
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
com.sobot.widget.refresh.layout.SobotRefreshLayout
;
import
com.sobot.widget.refresh.layout.api.RefreshComponent
;
import
com.sobot.widget.refresh.layout.api.RefreshFooter
;
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/util/SmartUtil.java
View file @
06ff406d
...
...
@@ -6,13 +6,6 @@ import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import
android.content.res.Resources
;
import
android.graphics.PointF
;
import
android.os.Build
;
import
androidx.annotation.NonNull
;
import
androidx.core.view.NestedScrollingChild
;
import
androidx.core.view.NestedScrollingParent
;
import
androidx.core.view.ScrollingView
;
import
androidx.viewpager.widget.ViewPager
;
import
androidx.core.widget.NestedScrollView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.animation.Interpolator
;
...
...
@@ -21,6 +14,14 @@ import android.widget.AbsListView;
import
android.widget.ListView
;
import
android.widget.ScrollView
;
import
androidx.annotation.NonNull
;
import
androidx.core.view.NestedScrollingChild
;
import
androidx.core.view.NestedScrollingParent
;
import
androidx.core.view.ScrollingView
;
import
androidx.core.widget.NestedScrollView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.viewpager.widget.ViewPager
;
import
com.sobot.widget.R
;
import
com.sobot.widget.refresh.layout.api.RefreshComponent
;
...
...
sobot_widget/src/main/java/com/sobot/widget/refresh/layout/wrapper/RefreshContentWrapper.java
View file @
06ff406d
...
...
@@ -9,10 +9,6 @@ import static com.sobot.widget.refresh.layout.util.SmartUtil.scrollListBy;
import
android.animation.ValueAnimator
;
import
android.animation.ValueAnimator.AnimatorUpdateListener
;
import
android.graphics.PointF
;
import
androidx.annotation.NonNull
;
import
androidx.core.view.NestedScrollingChild
;
import
androidx.core.view.NestedScrollingParent
;
import
androidx.viewpager.widget.ViewPager
;
import
android.view.Gravity
;
import
android.view.MotionEvent
;
import
android.view.View
;
...
...
@@ -21,6 +17,11 @@ import android.widget.AbsListView;
import
android.widget.FrameLayout
;
import
android.widget.Space
;
import
androidx.annotation.NonNull
;
import
androidx.core.view.NestedScrollingChild
;
import
androidx.core.view.NestedScrollingParent
;
import
androidx.viewpager.widget.ViewPager
;
import
com.sobot.widget.R
;
import
com.sobot.widget.refresh.layout.api.RefreshContent
;
import
com.sobot.widget.refresh.layout.api.RefreshKernel
;
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/calenderview/BaseRecyclerAdapter.java
View file @
06ff406d
...
...
@@ -16,12 +16,13 @@
package
com
.
sobot
.
widget
.
ui
.
calenderview
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.recyclerview.widget.RecyclerView
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/calenderview/BaseView.java
View file @
06ff406d
...
...
@@ -19,12 +19,13 @@ package com.sobot.widget.ui.calenderview;
import
android.content.Context
;
import
android.graphics.Color
;
import
android.graphics.Paint
;
import
androidx.annotation.Nullable
;
import
android.text.TextUtils
;
import
android.util.AttributeSet
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
androidx.annotation.Nullable
;
import
java.util.List
;
/**
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/calenderview/CalendarLayout.java
View file @
06ff406d
...
...
@@ -26,8 +26,6 @@ import android.content.Context;
import
android.content.res.TypedArray
;
import
android.os.Bundle
;
import
android.os.Parcelable
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.util.AttributeSet
;
import
android.view.MotionEvent
;
import
android.view.VelocityTracker
;
...
...
@@ -38,6 +36,9 @@ import android.view.animation.LinearInterpolator;
import
android.widget.AbsListView
;
import
android.widget.LinearLayout
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.sobot.widget.R
;
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/calenderview/CalendarView.java
View file @
06ff406d
...
...
@@ -20,9 +20,6 @@ import android.animation.AnimatorListenerAdapter;
import
android.content.Context
;
import
android.os.Bundle
;
import
android.os.Parcelable
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.viewpager.widget.ViewPager
;
import
android.text.TextUtils
;
import
android.util.AttributeSet
;
import
android.view.LayoutInflater
;
...
...
@@ -30,6 +27,10 @@ import android.view.View;
import
android.view.animation.LinearInterpolator
;
import
android.widget.FrameLayout
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.viewpager.widget.ViewPager
;
import
com.sobot.widget.R
;
import
java.lang.reflect.Constructor
;
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/calenderview/CalendarViewDelegate.java
View file @
06ff406d
...
...
@@ -18,10 +18,10 @@ package com.sobot.widget.ui.calenderview;
import
android.content.Context
;
import
android.content.res.TypedArray
;
import
android.graphics.Color
;
import
androidx.annotation.Nullable
;
import
android.text.TextUtils
;
import
android.util.AttributeSet
;
import
androidx.annotation.Nullable
;
import
com.sobot.widget.R
;
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/calenderview/MonthViewPager.java
View file @
06ff406d
...
...
@@ -17,14 +17,15 @@ package com.sobot.widget.ui.calenderview;
import
android.annotation.SuppressLint
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
androidx.viewpager.widget.PagerAdapter
;
import
androidx.viewpager.widget.ViewPager
;
import
android.util.AttributeSet
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.viewpager.widget.PagerAdapter
;
import
androidx.viewpager.widget.ViewPager
;
import
java.lang.reflect.Constructor
;
import
java.util.List
;
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/calenderview/SolarTermUtil.java
View file @
06ff406d
...
...
@@ -15,10 +15,6 @@
*/
package
com
.
sobot
.
widget
.
ui
.
calenderview
;
import
android.content.Context
;
import
com.sobot.widget.R
;
/**
* http://www.cnblogs.com/moodlxs/archive/2010/12/18/2345392.html
* 24节气计算公式,参考该博客实现
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/calenderview/WeekViewPager.java
View file @
06ff406d
...
...
@@ -17,14 +17,15 @@ package com.sobot.widget.ui.calenderview;
import
android.annotation.SuppressLint
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
androidx.viewpager.widget.PagerAdapter
;
import
androidx.viewpager.widget.ViewPager
;
import
android.util.AttributeSet
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.viewpager.widget.PagerAdapter
;
import
androidx.viewpager.widget.ViewPager
;
import
java.lang.reflect.Constructor
;
import
java.util.List
;
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/calenderview/YearRecyclerView.java
View file @
06ff406d
...
...
@@ -16,10 +16,11 @@
package
com
.
sobot
.
widget
.
ui
.
calenderview
;
import
android.content.Context
;
import
android.util.AttributeSet
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.util.AttributeSet
;
/**
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/calenderview/YearView.java
View file @
06ff406d
...
...
@@ -20,11 +20,12 @@ import android.graphics.Canvas;
import
android.graphics.Color
;
import
android.graphics.Paint
;
import
android.graphics.Rect
;
import
androidx.annotation.Nullable
;
import
android.text.TextUtils
;
import
android.util.AttributeSet
;
import
android.view.View
;
import
androidx.annotation.Nullable
;
import
java.util.List
;
/**
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/calenderview/YearViewAdapter.java
View file @
06ff406d
...
...
@@ -16,11 +16,12 @@
package
com
.
sobot
.
widget
.
ui
.
calenderview
;
import
android.content.Context
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.text.TextUtils
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.recyclerview.widget.RecyclerView
;
import
java.lang.reflect.Constructor
;
final
class
YearViewAdapter
extends
BaseRecyclerAdapter
<
Month
>
{
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/calenderview/YearViewPager.java
View file @
06ff406d
...
...
@@ -17,9 +17,6 @@ package com.sobot.widget.ui.calenderview;
import
android.annotation.SuppressLint
;
import
android.content.Context
;
import
androidx.annotation.NonNull
;
import
androidx.viewpager.widget.PagerAdapter
;
import
androidx.viewpager.widget.ViewPager
;
import
android.util.AttributeSet
;
import
android.view.Display
;
import
android.view.MotionEvent
;
...
...
@@ -27,6 +24,10 @@ import android.view.View;
import
android.view.ViewGroup
;
import
android.view.WindowManager
;
import
androidx.annotation.NonNull
;
import
androidx.viewpager.widget.PagerAdapter
;
import
androidx.viewpager.widget.ViewPager
;
/**
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/rich/EmailSpan.java
View file @
06ff406d
...
...
@@ -2,11 +2,12 @@ package com.sobot.widget.ui.rich;
import
android.app.Activity
;
import
android.content.Context
;
import
androidx.core.app.ShareCompat
;
import
android.text.TextPaint
;
import
android.text.style.ClickableSpan
;
import
android.view.View
;
import
androidx.core.app.ShareCompat
;
public
class
EmailSpan
extends
ClickableSpan
{
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/statusbar/SobotStatusBarUtils.java
View file @
06ff406d
...
...
@@ -5,13 +5,14 @@ import android.app.Activity;
import
android.graphics.Color
;
import
android.os.Build
;
import
android.os.Environment
;
import
androidx.annotation.ColorInt
;
import
androidx.annotation.IdRes
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
androidx.annotation.ColorInt
;
import
androidx.annotation.IdRes
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.IOException
;
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/statusbar/StatusBarView.java
View file @
06ff406d
...
...
@@ -2,10 +2,11 @@ package com.sobot.widget.ui.statusbar;
import
android.content.Context
;
import
android.os.Build
;
import
androidx.annotation.Nullable
;
import
android.util.AttributeSet
;
import
android.view.View
;
import
androidx.annotation.Nullable
;
/**
* @author 黄浩杭 (huanghaohang@parkingwang.com)
* @version 2017-11-21 0.7
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/utils/SobotResourceUtils.java
View file @
06ff406d
...
...
@@ -3,6 +3,7 @@ package com.sobot.widget.ui.utils;
import
android.content.Context
;
import
android.graphics.Color
;
import
android.os.Environment
;
import
androidx.core.content.ContextCompat
;
import
java.io.BufferedReader
;
...
...
sobot_widget/src/main/java/com/sobot/widget/ui/utils/SobotWidgetUtils.java
View file @
06ff406d
...
...
@@ -10,8 +10,9 @@ import android.net.Uri;
import
android.os.Build
;
import
android.os.Environment
;
import
android.provider.MediaStore
;
import
androidx.fragment.app.Fragment
;
import
androidx.core.content.FileProvider
;
import
androidx.fragment.app.Fragment
;
import
com.sobot.utils.SobotIOUtils
;
import
com.sobot.widget.ui.SobotBaseConstant
;
...
...
sobot_widget/src/main/res/values-en/strings.xml
View file @
06ff406d
...
...
@@ -16,7 +16,7 @@
<string
name=
"sobot_srl_header_loading"
>
Wait For Loading…
</string>
<string
name=
"sobot_srl_header_finish"
>
Refresh Success
</string>
<string
name=
"sobot_srl_header_failed"
>
Refresh Failed
</string>
<string
name=
"sobot_srl_header_update"
>
\'Last Update\'
%s
</string>
<string
name=
"sobot_srl_header_update"
>
Last Update
%s
</string>
<string
name=
"sobot_srl_header_secondary"
>
Release To Second Floor
</string>
<string
name=
"sobot_no_data_string"
>
No data
</string>
...
...
sobot_widget/src/main/res/values-en/strings_calender.xml
View file @
06ff406d
<?xml version="1.0" encoding="utf-8"?>
<resources
xmlns:tools=
"http://schemas.android.com/tools"
>
<resources>
<string
name=
"sobot_sun"
>
Sun
</string>
<string
name=
"sobot_mon"
>
Mon
</string>
...
...
sobot_widget/src/main/res/values/strings_calender.xml
View file @
06ff406d
<?xml version="1.0" encoding="utf-8"?>
<resources
xmlns:tools=
"http://schemas.android.com/tools"
>
<resources>
<string
name=
"sobot_sun"
>
日
</string>
<string
name=
"sobot_mon"
>
一
</string>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment