Przeglądaj źródła

优化,防止闪退

liuzhenxing1118 2 lat temu
rodzic
commit
f59619642a

+ 1 - 0
.idea/misc.xml

@@ -32,6 +32,7 @@
         <entry key="app/src/main/res/layout/item_contact.xml" value="0.3729166666666667" />
         <entry key="app/src/main/res/layout/item_contacts.xml" value="0.38768115942028986" />
         <entry key="app/src/main/res/layout/item_emoji.xml" value="0.161231884057971" />
+        <entry key="app/src/main/res/layout/item_emoji_list.xml" value="0.3691123188405797" />
         <entry key="app/src/main/res/layout/item_footer.xml" value="0.26811594202898553" />
         <entry key="app/src/main/res/layout/item_icon_title.xml" value="0.24094202898550723" />
         <entry key="app/src/main/res/layout/item_me_character.xml" value="0.1889564336372847" />

+ 3 - 0
app/src/main/java/com/xplora/xpchat/fragment/VideoFragment.java

@@ -72,6 +72,7 @@ public class VideoFragment extends BaseActionFragment implements Listener.PlayLi
         } else if (v == mShareBtn) {
             Listener.ClickButtonListener listener = (Listener.ClickButtonListener)mContext;
             listener.onShareFile(position, bean);
+            mMediaPlayerUtils.mediaPause();
         } else if (v == mSaveFileBtn) {
             Listener.ClickButtonListener listener = (Listener.ClickButtonListener)mContext;
             listener.onSaveFile(position, bean);
@@ -94,6 +95,8 @@ public class VideoFragment extends BaseActionFragment implements Listener.PlayLi
         Log.d(TAG, "onDestroy: ");
         super.onDestroy();
         mMediaPlayerUtils.mediaRelease();
+        cancelTimer();
+        cancelProgressTimer();
     }
 
     @Override

+ 10 - 2
app/src/main/java/com/xplora/xpchat/manager/MediaPlayerUtils.java

@@ -178,10 +178,18 @@ public class MediaPlayerUtils {
     }
 
     public int getTotalSeconds() {
-        return mMediaPlayer.getDuration() / 1000;
+        if (mMediaPlayer != null) {
+            return mMediaPlayer.getDuration() / 1000;
+        } else {
+            return 0;
+        }
     }
 
     public int getCurrentSeconds() {
-        return mMediaPlayer.getCurrentPosition() / 1000;
+        if (mMediaPlayer != null) {
+            return mMediaPlayer.getCurrentPosition() / 1000;
+        } else {
+            return 0;
+        }
     }
 }