Procházet zdrojové kódy

修复视频翻页错误;
视频详情界面不能关注自己;

zengjiebin před 7 roky
rodič
revize
a373077620

+ 38 - 29
app/src/main/java/com/sheep/gamegroup/find/activity/ActEditVideo.java

@@ -29,6 +29,7 @@ import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.gamegroup.util.viewHelper.CacheImageUtil;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
@@ -41,6 +42,7 @@ import org.wysaid.nativePort.CGEFrameRenderer;
 import org.wysaid.nativePort.CGENativeLibrary;
 import org.wysaid.view.VideoPlayerGLSurfaceView;
 
+import java.io.File;
 import java.util.Locale;
 
 import butterknife.BindView;
@@ -49,6 +51,7 @@ import io.reactivex.ObservableEmitter;
 import io.reactivex.ObservableOnSubscribe;
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.schedulers.Schedulers;
+import rx.functions.Action1;
 
 /**
  * Created by realicing on 2018/11/9.
@@ -139,40 +142,46 @@ public class ActEditVideo extends BaseContainerActivity implements Filterble {
     //点击完成
     public void onClickCommit(View view) {
         showProgress(false);
-        Observable.create(new ObservableOnSubscribe<String>() {
+        CacheImageUtil.cacheAndLoadImg(ViewUtil.getNetImgByName("sheep_logo_3"), new Action1<File>() {
             @Override
-            public void subscribe(ObservableEmitter<String> emitter) throws Exception {
-                String srcFilPath = data.getFilePath();
-                String outputFilename = String.format(Locale.CHINA, "%s_%d_%f.mp4", srcFilPath.substring(0, srcFilPath.lastIndexOf(".")), mCurrentConfig.hashCode(), mIntensity);
-
-                Bitmap bmp = BitmapFactory.decodeResource(SheepApp.getInstance().getResources(), R.drawable.icon_lj);
-                Bitmap logo = BitmapUtil.createBigLogo(bmp, new Size().setWidth(G.WIDTH).setHeight(G.HEIGHT).setX(G.getRealPix(100)).setY(G.getRealPix(100)));
-                CGEFFmpegNativeLibrary.generateVideoWithFilter(outputFilename, srcFilPath, mCurrentConfig, mIntensity, logo, CGENativeLibrary.TextureBlendMode.CGE_BLEND_ADDREV, 1.0f, false);
-
-                LogUtil.println(ActEditVideo.class.getSimpleName(), "Done! The file is generated at: " + outputFilename);
-                emitter.onNext(outputFilename);
-            }
-        }).subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new AbsObserver<String>() {
+            public void call(final File file) {
+                Observable.create(new ObservableOnSubscribe<String>() {
                     @Override
-                    public void onNext(String filePath) {
-                        sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + filePath)));
-                        data.setFilePath(filePath);
-                        EventBus.getDefault().post(data);
-                        ActEditVideo.this.finish();
+                    public void subscribe(ObservableEmitter<String> emitter) throws Exception {
+                        String srcFilPath = data.getFilePath();
+                        String outputFilename = String.format(Locale.CHINA, "%s_%d_%f.mp4", srcFilPath.substring(0, srcFilPath.lastIndexOf(".")), mCurrentConfig.hashCode(), mIntensity);
+                        Bitmap bmp = BitmapFactory.decodeFile(file.getAbsolutePath());
+                        //left 30px top 60px width 750
+                        Bitmap logo = BitmapUtil.createBigLogo(bmp, new Size().setWidth(G.WIDTH).setHeight(G.HEIGHT).setX(G.WIDTH * 30 / 750).setY(G.WIDTH * 60 / 750));
+                        bmp.recycle();
+                        CGEFFmpegNativeLibrary.generateVideoWithFilter(outputFilename, srcFilPath, mCurrentConfig, mIntensity, logo, CGENativeLibrary.TextureBlendMode.CGE_BLEND_ADDREV, 1.0f, false);
+
+                        LogUtil.println(ActEditVideo.class.getSimpleName(), "Done! The file is generated at: " + outputFilename);
+                        emitter.onNext(outputFilename);
                     }
+                }).subscribeOn(Schedulers.io())
+                        .observeOn(AndroidSchedulers.mainThread())
+                        .subscribe(new AbsObserver<String>() {
+                            @Override
+                            public void onNext(String filePath) {
+                                sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + filePath)));
+                                data.setFilePath(filePath);
+                                EventBus.getDefault().post(data);
+                                ActEditVideo.this.finish();
+                            }
 
-                    @Override
-                    public void onError(Throwable e) {
-                        G.showToast(e.getMessage());
-                    }
+                            @Override
+                            public void onError(Throwable e) {
+                                G.showToast(e.getMessage());
+                            }
 
-                    @Override
-                    public void onComplete() {
-                        hideProgress();
-                    }
-                });
+                            @Override
+                            public void onComplete() {
+                                hideProgress();
+                            }
+                        });
+            }
+        });
     }
 
     //设置滤镜

+ 12 - 12
app/src/main/java/com/sheep/gamegroup/greendao/download/DaoMaster.java

@@ -22,25 +22,25 @@ public class DaoMaster extends AbstractDaoMaster {
 
     /** Creates underlying database table using DAOs. */
     public static void createAllTables(Database db, boolean ifNotExists) {
-        ProcessRecordDao.createTable(db, ifNotExists);
+        AcceptTaskRecordDao.createTable(db, ifNotExists);
         AppdownloadBeanDao.createTable(db, ifNotExists);
-        SdkLoginUserDao.createTable(db, ifNotExists);
+        DownLoadInfoDao.createTable(db, ifNotExists);
+        ProcessRecordDao.createTable(db, ifNotExists);
         ScreenShotRecordDao.createTable(db, ifNotExists);
-        AcceptTaskRecordDao.createTable(db, ifNotExists);
+        SdkLoginUserDao.createTable(db, ifNotExists);
         SearchRecordDao.createTable(db, ifNotExists);
-        DownLoadInfoDao.createTable(db, ifNotExists);
         AccountDao.createTable(db, ifNotExists);
     }
 
     /** Drops underlying database table using DAOs. */
     public static void dropAllTables(Database db, boolean ifExists) {
-        ProcessRecordDao.dropTable(db, ifExists);
+        AcceptTaskRecordDao.dropTable(db, ifExists);
         AppdownloadBeanDao.dropTable(db, ifExists);
-        SdkLoginUserDao.dropTable(db, ifExists);
+        DownLoadInfoDao.dropTable(db, ifExists);
+        ProcessRecordDao.dropTable(db, ifExists);
         ScreenShotRecordDao.dropTable(db, ifExists);
-        AcceptTaskRecordDao.dropTable(db, ifExists);
+        SdkLoginUserDao.dropTable(db, ifExists);
         SearchRecordDao.dropTable(db, ifExists);
-        DownLoadInfoDao.dropTable(db, ifExists);
         AccountDao.dropTable(db, ifExists);
     }
 
@@ -60,13 +60,13 @@ public class DaoMaster extends AbstractDaoMaster {
 
     public DaoMaster(Database db) {
         super(db, SCHEMA_VERSION);
-        registerDaoClass(ProcessRecordDao.class);
+        registerDaoClass(AcceptTaskRecordDao.class);
         registerDaoClass(AppdownloadBeanDao.class);
-        registerDaoClass(SdkLoginUserDao.class);
+        registerDaoClass(DownLoadInfoDao.class);
+        registerDaoClass(ProcessRecordDao.class);
         registerDaoClass(ScreenShotRecordDao.class);
-        registerDaoClass(AcceptTaskRecordDao.class);
+        registerDaoClass(SdkLoginUserDao.class);
         registerDaoClass(SearchRecordDao.class);
-        registerDaoClass(DownLoadInfoDao.class);
         registerDaoClass(AccountDao.class);
     }
 

+ 47 - 47
app/src/main/java/com/sheep/gamegroup/greendao/download/DaoSession.java

@@ -8,22 +8,22 @@ import org.greenrobot.greendao.database.Database;
 import org.greenrobot.greendao.identityscope.IdentityScopeType;
 import org.greenrobot.greendao.internal.DaoConfig;
 
-import com.sheep.gamegroup.greendao.download.ProcessRecord;
+import com.sheep.gamegroup.greendao.download.AcceptTaskRecord;
 import com.sheep.gamegroup.greendao.download.AppdownloadBean;
-import com.sheep.gamegroup.greendao.download.SdkLoginUser;
+import com.sheep.gamegroup.greendao.download.DownLoadInfo;
+import com.sheep.gamegroup.greendao.download.ProcessRecord;
 import com.sheep.gamegroup.greendao.download.ScreenShotRecord;
-import com.sheep.gamegroup.greendao.download.AcceptTaskRecord;
+import com.sheep.gamegroup.greendao.download.SdkLoginUser;
 import com.sheep.gamegroup.greendao.download.SearchRecord;
-import com.sheep.gamegroup.greendao.download.DownLoadInfo;
 import com.sheep.gamegroup.module.login.model.Account;
 
-import com.sheep.gamegroup.greendao.download.ProcessRecordDao;
+import com.sheep.gamegroup.greendao.download.AcceptTaskRecordDao;
 import com.sheep.gamegroup.greendao.download.AppdownloadBeanDao;
-import com.sheep.gamegroup.greendao.download.SdkLoginUserDao;
+import com.sheep.gamegroup.greendao.download.DownLoadInfoDao;
+import com.sheep.gamegroup.greendao.download.ProcessRecordDao;
 import com.sheep.gamegroup.greendao.download.ScreenShotRecordDao;
-import com.sheep.gamegroup.greendao.download.AcceptTaskRecordDao;
+import com.sheep.gamegroup.greendao.download.SdkLoginUserDao;
 import com.sheep.gamegroup.greendao.download.SearchRecordDao;
-import com.sheep.gamegroup.greendao.download.DownLoadInfoDao;
 import com.sheep.gamegroup.module.login.model.AccountDao;
 
 // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
@@ -35,110 +35,110 @@ import com.sheep.gamegroup.module.login.model.AccountDao;
  */
 public class DaoSession extends AbstractDaoSession {
 
-    private final DaoConfig processRecordDaoConfig;
+    private final DaoConfig acceptTaskRecordDaoConfig;
     private final DaoConfig appdownloadBeanDaoConfig;
-    private final DaoConfig sdkLoginUserDaoConfig;
+    private final DaoConfig downLoadInfoDaoConfig;
+    private final DaoConfig processRecordDaoConfig;
     private final DaoConfig screenShotRecordDaoConfig;
-    private final DaoConfig acceptTaskRecordDaoConfig;
+    private final DaoConfig sdkLoginUserDaoConfig;
     private final DaoConfig searchRecordDaoConfig;
-    private final DaoConfig downLoadInfoDaoConfig;
     private final DaoConfig accountDaoConfig;
 
-    private final ProcessRecordDao processRecordDao;
+    private final AcceptTaskRecordDao acceptTaskRecordDao;
     private final AppdownloadBeanDao appdownloadBeanDao;
-    private final SdkLoginUserDao sdkLoginUserDao;
+    private final DownLoadInfoDao downLoadInfoDao;
+    private final ProcessRecordDao processRecordDao;
     private final ScreenShotRecordDao screenShotRecordDao;
-    private final AcceptTaskRecordDao acceptTaskRecordDao;
+    private final SdkLoginUserDao sdkLoginUserDao;
     private final SearchRecordDao searchRecordDao;
-    private final DownLoadInfoDao downLoadInfoDao;
     private final AccountDao accountDao;
 
     public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
             daoConfigMap) {
         super(db);
 
-        processRecordDaoConfig = daoConfigMap.get(ProcessRecordDao.class).clone();
-        processRecordDaoConfig.initIdentityScope(type);
+        acceptTaskRecordDaoConfig = daoConfigMap.get(AcceptTaskRecordDao.class).clone();
+        acceptTaskRecordDaoConfig.initIdentityScope(type);
 
         appdownloadBeanDaoConfig = daoConfigMap.get(AppdownloadBeanDao.class).clone();
         appdownloadBeanDaoConfig.initIdentityScope(type);
 
-        sdkLoginUserDaoConfig = daoConfigMap.get(SdkLoginUserDao.class).clone();
-        sdkLoginUserDaoConfig.initIdentityScope(type);
+        downLoadInfoDaoConfig = daoConfigMap.get(DownLoadInfoDao.class).clone();
+        downLoadInfoDaoConfig.initIdentityScope(type);
+
+        processRecordDaoConfig = daoConfigMap.get(ProcessRecordDao.class).clone();
+        processRecordDaoConfig.initIdentityScope(type);
 
         screenShotRecordDaoConfig = daoConfigMap.get(ScreenShotRecordDao.class).clone();
         screenShotRecordDaoConfig.initIdentityScope(type);
 
-        acceptTaskRecordDaoConfig = daoConfigMap.get(AcceptTaskRecordDao.class).clone();
-        acceptTaskRecordDaoConfig.initIdentityScope(type);
+        sdkLoginUserDaoConfig = daoConfigMap.get(SdkLoginUserDao.class).clone();
+        sdkLoginUserDaoConfig.initIdentityScope(type);
 
         searchRecordDaoConfig = daoConfigMap.get(SearchRecordDao.class).clone();
         searchRecordDaoConfig.initIdentityScope(type);
 
-        downLoadInfoDaoConfig = daoConfigMap.get(DownLoadInfoDao.class).clone();
-        downLoadInfoDaoConfig.initIdentityScope(type);
-
         accountDaoConfig = daoConfigMap.get(AccountDao.class).clone();
         accountDaoConfig.initIdentityScope(type);
 
-        processRecordDao = new ProcessRecordDao(processRecordDaoConfig, this);
+        acceptTaskRecordDao = new AcceptTaskRecordDao(acceptTaskRecordDaoConfig, this);
         appdownloadBeanDao = new AppdownloadBeanDao(appdownloadBeanDaoConfig, this);
-        sdkLoginUserDao = new SdkLoginUserDao(sdkLoginUserDaoConfig, this);
+        downLoadInfoDao = new DownLoadInfoDao(downLoadInfoDaoConfig, this);
+        processRecordDao = new ProcessRecordDao(processRecordDaoConfig, this);
         screenShotRecordDao = new ScreenShotRecordDao(screenShotRecordDaoConfig, this);
-        acceptTaskRecordDao = new AcceptTaskRecordDao(acceptTaskRecordDaoConfig, this);
+        sdkLoginUserDao = new SdkLoginUserDao(sdkLoginUserDaoConfig, this);
         searchRecordDao = new SearchRecordDao(searchRecordDaoConfig, this);
-        downLoadInfoDao = new DownLoadInfoDao(downLoadInfoDaoConfig, this);
         accountDao = new AccountDao(accountDaoConfig, this);
 
-        registerDao(ProcessRecord.class, processRecordDao);
+        registerDao(AcceptTaskRecord.class, acceptTaskRecordDao);
         registerDao(AppdownloadBean.class, appdownloadBeanDao);
-        registerDao(SdkLoginUser.class, sdkLoginUserDao);
+        registerDao(DownLoadInfo.class, downLoadInfoDao);
+        registerDao(ProcessRecord.class, processRecordDao);
         registerDao(ScreenShotRecord.class, screenShotRecordDao);
-        registerDao(AcceptTaskRecord.class, acceptTaskRecordDao);
+        registerDao(SdkLoginUser.class, sdkLoginUserDao);
         registerDao(SearchRecord.class, searchRecordDao);
-        registerDao(DownLoadInfo.class, downLoadInfoDao);
         registerDao(Account.class, accountDao);
     }
     
     public void clear() {
-        processRecordDaoConfig.clearIdentityScope();
+        acceptTaskRecordDaoConfig.clearIdentityScope();
         appdownloadBeanDaoConfig.clearIdentityScope();
-        sdkLoginUserDaoConfig.clearIdentityScope();
+        downLoadInfoDaoConfig.clearIdentityScope();
+        processRecordDaoConfig.clearIdentityScope();
         screenShotRecordDaoConfig.clearIdentityScope();
-        acceptTaskRecordDaoConfig.clearIdentityScope();
+        sdkLoginUserDaoConfig.clearIdentityScope();
         searchRecordDaoConfig.clearIdentityScope();
-        downLoadInfoDaoConfig.clearIdentityScope();
         accountDaoConfig.clearIdentityScope();
     }
 
-    public ProcessRecordDao getProcessRecordDao() {
-        return processRecordDao;
+    public AcceptTaskRecordDao getAcceptTaskRecordDao() {
+        return acceptTaskRecordDao;
     }
 
     public AppdownloadBeanDao getAppdownloadBeanDao() {
         return appdownloadBeanDao;
     }
 
-    public SdkLoginUserDao getSdkLoginUserDao() {
-        return sdkLoginUserDao;
+    public DownLoadInfoDao getDownLoadInfoDao() {
+        return downLoadInfoDao;
+    }
+
+    public ProcessRecordDao getProcessRecordDao() {
+        return processRecordDao;
     }
 
     public ScreenShotRecordDao getScreenShotRecordDao() {
         return screenShotRecordDao;
     }
 
-    public AcceptTaskRecordDao getAcceptTaskRecordDao() {
-        return acceptTaskRecordDao;
+    public SdkLoginUserDao getSdkLoginUserDao() {
+        return sdkLoginUserDao;
     }
 
     public SearchRecordDao getSearchRecordDao() {
         return searchRecordDao;
     }
 
-    public DownLoadInfoDao getDownLoadInfoDao() {
-        return downLoadInfoDao;
-    }
-
     public AccountDao getAccountDao() {
         return accountDao;
     }

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -1510,7 +1510,7 @@ public interface ApiService {
      * 小绵羊3.4.5新增 -- 查询视频列表
      */
     @GET(ApiKey.getVideoList)
-    Observable<BaseMessage> getVideoList(@Query("page") int page, @Query("per_page") int per_page);
+    Observable<BaseMessage> getVideoList(@Query("page_no") int page, @Query("page_size") int per_page);
     /**
      * 小绵羊3.4.5新增 -- 查询音乐列表
      */

+ 5 - 0
app/src/main/java/com/sheep/gamegroup/util/DataUtil.java

@@ -120,6 +120,11 @@ public class DataUtil {
         return uid;
     }
 
+    //该用户id是当前登录用户的id
+    public boolean isMe(int user_id) {
+        return user_id == NumberFormatUtils.parseInteger(getUserId(), -1);
+    }
+
     public String getToken() {
         return token;
     }

+ 13 - 10
app/src/main/java/com/sheep/gamegroup/view/activity/ActPlayVideoArticle.java

@@ -19,6 +19,7 @@ import android.widget.MediaController;
 import android.widget.TextView;
 import android.widget.VideoView;
 
+import com.kfzs.duanduan.utils.NumberFormatUtils;
 import com.kfzs.duanduan.utils.StatusBarUtils;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.absBase.IRefresh;
@@ -111,21 +112,23 @@ public class ActPlayVideoArticle extends BaseActivity implements MediaPlayer.OnI
         ViewUtil.setImage(video_camera_iv, ViewUtil.getNetImgByName("add_article_camera"));
     }
 
-    private void loadVideoData(DiscoveryVideo video) {
-        if (video == null) {
+    private void loadVideoData(DiscoveryVideo discoveryVideo) {
+        if (discoveryVideo == null) {
             ViewUtil.setText(video_like_tv, ViewUtil.BLOCK);
             ViewUtil.setText(video_comment_tv, ViewUtil.BLOCK);
             ViewUtil.setText(video_title_tv, ViewUtil.BLOCK);
             ViewUtil.setText(video_share_tv, ViewUtil.BLOCK);
+            ViewUtil.setVisibility2(video_focus_iv, false);
             return;
         }
-        ViewUtil.setAvatar(video_avatar_iv, video.getAvatar());
-        ViewUtil.setText(video_like_tv, video.getLike());
-        ViewUtil.setText(video_comment_tv, video.getComment());
-        ViewUtil.setText(video_title_tv, video.getTitle());
-        ViewUtil.setText(video_share_tv, video.getShare());
-        ViewUtil.setChecked(video_like_tv, video.getIs_like());
-        ViewUtil.setChecked(video_focus_iv, video.getIs_like());
+        ViewUtil.setAvatar(video_avatar_iv, discoveryVideo.getAvatar());
+        ViewUtil.setText(video_like_tv, discoveryVideo.getLike());
+        ViewUtil.setText(video_comment_tv, discoveryVideo.getComment());
+        ViewUtil.setText(video_title_tv, discoveryVideo.getTitle());
+        ViewUtil.setText(video_share_tv, discoveryVideo.getShare());
+        ViewUtil.setChecked(video_like_tv, discoveryVideo.getIs_like());
+        ViewUtil.setVisibility2(video_focus_iv, !DataUtil.getInstance().isMe(discoveryVideo.getUser_id()));
+        ViewUtil.setChecked(video_focus_iv, discoveryVideo.getIs_like());
     }
 
     private void initPlay() {
@@ -186,7 +189,7 @@ public class ActPlayVideoArticle extends BaseActivity implements MediaPlayer.OnI
         if (newVideo != null) {
             shareLinkConfig.setDes(newVideo.getTitle());
         }
-        shareLinkConfig.toShare(this, new CommonUMShareListener() {
+        shareLinkConfig.setShareType(ShareLinkConfig.ALL).toShare(this, new CommonUMShareListener() {
             @Override
             public void onResult(SHARE_MEDIA share_media) {
                 ApiUtil.postVideoShare(video_id);

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtArticleVideo.java

@@ -43,7 +43,7 @@ public class FgtArticleVideo extends BaseListFragment2<DiscoveryVideo> {
 
     @Override
     protected String getKey(int page, int per_page) {
-        return ApiKey.pageKeyUrl(ApiKey.getVideoList, page, per_page);
+        return ApiKey.pageKeyUrl2(ApiKey.getVideoList, page, per_page);
     }
 
     @Override

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtVideoComment.java

@@ -37,7 +37,7 @@ import io.reactivex.Observable;
 /**
  * Created by realicing on 2018/11/2.
  * realicing@sina.com
- * 用户评论列表界面
+ * 小绵羊3.4.5新增 -- 视频详情--用户评论列表界面
  */
 public class FgtVideoComment extends BaseListFragment4<UserComment> {
 

+ 3 - 0
app/src/main/java/org/afinal/simplecache/ApiKey.java

@@ -73,6 +73,9 @@ public class ApiKey {
     public static final String pageKeyUrl(String baseUrl, int page, int per_page){
         return String.format(Locale.CHINA, "%s?page=%d&per_page=%d", baseUrl, page, per_page);
     }
+    public static final String pageKeyUrl2(String baseUrl, int page, int per_page){
+        return String.format(Locale.CHINA, "%s?page_no=%d&page_size=%d", baseUrl, page, per_page);
+    }
 
     public static String release_task(int page, int per_page, int about_to_begin, String task_type, int is_succession) {
         task_type = task_type.replaceAll(",", "%2C");