.class public Lcom/luck/picture/lib/model/LocalMediaLoader; .super Ljava/lang/Object; .source "LocalMediaLoader.java" # interfaces .implements Landroid/os/Handler$Callback; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/luck/picture/lib/model/LocalMediaLoader$LocalMediaLoadListener; } .end annotation # static fields .field private static final AUDIO_DURATION:I = 0x1f4 .field private static final FILE_SIZE_UNIT:J = 0x100000L .field private static final MSG_QUERY_MEDIA_SUCCESS:I = 0x0 .field private static final NOT_GIF:Ljava/lang/String; = "!=\'image/gif\'" .field private static final ORDER_BY:Ljava/lang/String; = "_id DESC" .field private static final PROJECTION:[Ljava/lang/String; .field private static final QUERY_URI:Landroid/net/Uri; .field private static final SELECTION:Ljava/lang/String; = "media_type=? AND _size>0" .field private static final SELECTION_ALL_ARGS:[Ljava/lang/String; .field private static final SELECTION_NOT_GIF:Ljava/lang/String; = "media_type=? AND _size>0 AND mime_type!=\'image/gif\'" .field private static final SELECTION_SPECIFIED_FORMAT:Ljava/lang/String; = "media_type=? AND _size>0 AND mime_type" # instance fields .field private config:Lcom/luck/picture/lib/config/PictureSelectionConfig; .field private isAndroidQ:Z .field private mCompleteListener:Lcom/luck/picture/lib/model/LocalMediaLoader$LocalMediaLoadListener; .field private mContext:Landroid/content/Context; .field private mHandler:Landroid/os/Handler; # direct methods .method static constructor ()V .registers 7 .line 38 const-string v0, "external" invoke-static {v0}, Landroid/provider/MediaStore$Files;->getContentUri(Ljava/lang/String;)Landroid/net/Uri; move-result-object v0 sput-object v0, Lcom/luck/picture/lib/model/LocalMediaLoader;->QUERY_URI:Landroid/net/Uri; const/16 v0, 0x8 .line 56 new-array v0, v0, [Ljava/lang/String; const-string v1, "_id" const/4 v2, 0x0 aput-object v1, v0, v2 const-string v1, "_data" const/4 v3, 0x1 aput-object v1, v0, v3 const-string v1, "mime_type" const/4 v4, 0x2 aput-object v1, v0, v4 const-string v1, "width" const/4 v5, 0x3 aput-object v1, v0, v5 const/4 v1, 0x4 const-string v6, "height" aput-object v6, v0, v1 const/4 v1, 0x5 const-string v6, "duration" aput-object v6, v0, v1 const/4 v1, 0x6 const-string v6, "_size" aput-object v6, v0, v1 const/4 v1, 0x7 const-string v6, "bucket_display_name" aput-object v6, v0, v1 sput-object v0, Lcom/luck/picture/lib/model/LocalMediaLoader;->PROJECTION:[Ljava/lang/String; .line 123 new-array v0, v4, [Ljava/lang/String; .line 124 invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String; move-result-object v1 aput-object v1, v0, v2 .line 125 invoke-static {v5}, Ljava/lang/String;->valueOf(I)Ljava/lang/String; move-result-object v1 aput-object v1, v0, v3 sput-object v0, Lcom/luck/picture/lib/model/LocalMediaLoader;->SELECTION_ALL_ARGS:[Ljava/lang/String; return-void .end method .method public constructor (Landroid/content/Context;Lcom/luck/picture/lib/config/PictureSelectionConfig;)V .registers 3 .line 139 invoke-direct {p0}, Ljava/lang/Object;->()V .line 140 invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context; move-result-object p1 iput-object p1, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->mContext:Landroid/content/Context; .line 141 invoke-static {}, Lcom/luck/picture/lib/tools/SdkVersionUtils;->checkedAndroid_Q()Z move-result p1 iput-boolean p1, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->isAndroidQ:Z .line 142 iput-object p2, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; .line 143 new-instance p1, Landroid/os/Handler; invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; move-result-object p2 invoke-direct {p1, p2, p0}, Landroid/os/Handler;->(Landroid/os/Looper;Landroid/os/Handler$Callback;)V iput-object p1, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->mHandler:Landroid/os/Handler; return-void .end method .method private getDurationCondition(JJ)Ljava/lang/String; .registers 11 .line 355 iget-object v0, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget v0, v0, Lcom/luck/picture/lib/config/PictureSelectionConfig;->videoMaxSecond:I if-nez v0, :cond_c const-wide v0, 0x7fffffffffffffffL goto :goto_11 :cond_c iget-object v0, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget v0, v0, Lcom/luck/picture/lib/config/PictureSelectionConfig;->videoMaxSecond:I int-to-long v0, v0 :goto_11 const-wide/16 v2, 0x0 cmp-long v4, p1, v2 if-eqz v4, :cond_1b .line 357 invoke-static {v0, v1, p1, p2}, Ljava/lang/Math;->min(JJ)J move-result-wide v0 .line 359 :cond_1b sget-object p1, Ljava/util/Locale;->CHINA:Ljava/util/Locale; iget-object p2, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget p2, p2, Lcom/luck/picture/lib/config/PictureSelectionConfig;->videoMinSecond:I int-to-long v4, p2 .line 360 invoke-static {p3, p4, v4, v5}, Ljava/lang/Math;->max(JJ)J move-result-wide v4 invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object p2 .line 361 iget-object v4, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget v4, v4, Lcom/luck/picture/lib/config/PictureSelectionConfig;->videoMinSecond:I int-to-long v4, v4 invoke-static {p3, p4, v4, v5}, Ljava/lang/Math;->max(JJ)J move-result-wide p3 cmp-long p3, p3, v2 if-nez p3, :cond_3a const-string p3, "" goto :goto_3c :cond_3a const-string p3, "=" .line 362 :goto_3c invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object p4 filled-new-array {p2, p3, p4}, [Ljava/lang/Object; move-result-object p2 .line 359 const-string p3, "%d <%s duration and duration <= %d" invoke-static {p1, p3, p2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p1 return-object p1 .end method .method private getImageFolder(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lcom/luck/picture/lib/entity/LocalMediaFolder; .registers 7 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/util/List<", "Lcom/luck/picture/lib/entity/LocalMediaFolder;", ">;)", "Lcom/luck/picture/lib/entity/LocalMediaFolder;" } .end annotation .line 334 invoke-interface {p3}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_4 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_1b invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/luck/picture/lib/entity/LocalMediaFolder; .line 336 invoke-virtual {v1}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->getName()Ljava/lang/String; move-result-object v2 invoke-virtual {v2, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_4 return-object v1 .line 340 :cond_1b new-instance v0, Lcom/luck/picture/lib/entity/LocalMediaFolder; invoke-direct {v0}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->()V .line 341 invoke-virtual {v0, p2}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->setName(Ljava/lang/String;)V .line 342 invoke-virtual {v0, p1}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->setFirstImagePath(Ljava/lang/String;)V .line 343 invoke-interface {p3, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z return-object v0 .end method .method private getRealPathAndroid_Q(J)Ljava/lang/String; .registers 4 .line 322 sget-object v0, Lcom/luck/picture/lib/model/LocalMediaLoader;->QUERY_URI:Landroid/net/Uri; invoke-virtual {v0}, Landroid/net/Uri;->buildUpon()Landroid/net/Uri$Builder; move-result-object v0 invoke-static {p1, p2}, Ljava/lang/String;->valueOf(J)Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p1}, Landroid/net/Uri$Builder;->appendPath(Ljava/lang/String;)Landroid/net/Uri$Builder; move-result-object p1 invoke-virtual {p1}, Landroid/net/Uri$Builder;->build()Landroid/net/Uri; move-result-object p1 invoke-virtual {p1}, Landroid/net/Uri;->toString()Ljava/lang/String; move-result-object p1 return-object p1 .end method .method private getSelection()Ljava/lang/String; .registers 7 .line 252 iget-object v0, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget v0, v0, Lcom/luck/picture/lib/config/PictureSelectionConfig;->chooseMode:I const-wide/16 v1, 0x0 if-eqz v0, :cond_93 const/4 v3, 0x1 const-string v4, "\'" const-string v5, "media_type=? AND _size>0 AND mime_type=\'" if-eq v0, v3, :cond_67 const/4 v3, 0x2 if-eq v0, v3, :cond_42 const/4 v3, 0x3 if-eq v0, v3, :cond_17 const/4 v0, 0x0 return-object v0 .line 271 :cond_17 iget-object v0, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget-object v0, v0, Lcom/luck/picture/lib/config/PictureSelectionConfig;->specifiedFormat:Ljava/lang/String; invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_37 .line 273 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0, v5}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget-object v1, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget-object v1, v1, Lcom/luck/picture/lib/config/PictureSelectionConfig;->specifiedFormat:Ljava/lang/String; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 :cond_37 const-wide/16 v3, 0x1f4 .line 275 invoke-direct {p0, v1, v2, v3, v4}, Lcom/luck/picture/lib/model/LocalMediaLoader;->getDurationCondition(JJ)Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lcom/luck/picture/lib/model/LocalMediaLoader;->getSelectionArgsForSingleMediaCondition(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 return-object v0 .line 264 :cond_42 iget-object v0, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget-object v0, v0, Lcom/luck/picture/lib/config/PictureSelectionConfig;->specifiedFormat:Ljava/lang/String; invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_62 .line 266 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0, v5}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget-object v1, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget-object v1, v1, Lcom/luck/picture/lib/config/PictureSelectionConfig;->specifiedFormat:Ljava/lang/String; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .line 268 :cond_62 invoke-static {}, Lcom/luck/picture/lib/model/LocalMediaLoader;->getSelectionArgsForSingleMediaCondition()Ljava/lang/String; move-result-object v0 return-object v0 .line 257 :cond_67 iget-object v0, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget-object v0, v0, Lcom/luck/picture/lib/config/PictureSelectionConfig;->specifiedFormat:Ljava/lang/String; invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_87 .line 259 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0, v5}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget-object v1, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget-object v1, v1, Lcom/luck/picture/lib/config/PictureSelectionConfig;->specifiedFormat:Ljava/lang/String; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .line 261 :cond_87 iget-object v0, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget-boolean v0, v0, Lcom/luck/picture/lib/config/PictureSelectionConfig;->isGif:Z if-eqz v0, :cond_90 const-string v0, "media_type=? AND _size>0" goto :goto_92 :cond_90 const-string v0, "media_type=? AND _size>0 AND mime_type!=\'image/gif\'" :goto_92 return-object v0 .line 255 :cond_93 invoke-direct {p0, v1, v2, v1, v2}, Lcom/luck/picture/lib/model/LocalMediaLoader;->getDurationCondition(JJ)Ljava/lang/String; move-result-object v0 iget-object v1, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget-boolean v1, v1, Lcom/luck/picture/lib/config/PictureSelectionConfig;->isGif:Z invoke-static {v0, v1}, Lcom/luck/picture/lib/model/LocalMediaLoader;->getSelectionArgsForAllMediaCondition(Ljava/lang/String;Z)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method private getSelectionArgs()[Ljava/lang/String; .registers 4 .line 281 iget-object v0, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget v0, v0, Lcom/luck/picture/lib/config/PictureSelectionConfig;->chooseMode:I if-eqz v0, :cond_20 const/4 v1, 0x1 if-eq v0, v1, :cond_1b const/4 v1, 0x3 const/4 v2, 0x2 if-eq v0, v2, :cond_16 if-eq v0, v1, :cond_11 const/4 v0, 0x0 return-object v0 .line 292 :cond_11 invoke-static {v2}, Lcom/luck/picture/lib/model/LocalMediaLoader;->getSelectionArgsForSingleMediaType(I)[Ljava/lang/String; move-result-object v0 return-object v0 .line 290 :cond_16 invoke-static {v1}, Lcom/luck/picture/lib/model/LocalMediaLoader;->getSelectionArgsForSingleMediaType(I)[Ljava/lang/String; move-result-object v0 return-object v0 .line 286 :cond_1b invoke-static {v1}, Lcom/luck/picture/lib/model/LocalMediaLoader;->getSelectionArgsForSingleMediaType(I)[Ljava/lang/String; move-result-object v0 return-object v0 .line 283 :cond_20 sget-object v0, Lcom/luck/picture/lib/model/LocalMediaLoader;->SELECTION_ALL_ARGS:[Ljava/lang/String; return-object v0 .end method .method private static getSelectionArgsForAllMediaCondition(Ljava/lang/String;Z)Ljava/lang/String; .registers 4 .line 112 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "(media_type=?" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V if-eqz p1, :cond_c .line 113 const-string p1, "" goto :goto_e :cond_c const-string p1, " AND mime_type!=\'image/gif\'" :goto_e invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 const-string v0, " OR media_type=? AND " invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 const-string p1, ") AND _size>0" invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method private static getSelectionArgsForSingleMediaCondition()Ljava/lang/String; .registers 1 .line 100 const-string v0, "media_type=? AND _size>0" return-object v0 .end method .method private static getSelectionArgsForSingleMediaCondition(Ljava/lang/String;)Ljava/lang/String; .registers 3 .line 89 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "media_type=? AND _size>0 AND " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method private static getSelectionArgsForSingleMediaType(I)[Ljava/lang/String; .registers 3 const/4 v0, 0x1 .line 135 new-array v0, v0, [Ljava/lang/String; const/4 v1, 0x0 invoke-static {p0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String; move-result-object p0 aput-object p0, v0, v1 return-object v0 .end method .method static synthetic lambda$sortFolder$1(Lcom/luck/picture/lib/entity/LocalMediaFolder;Lcom/luck/picture/lib/entity/LocalMediaFolder;)I .registers 4 .line 306 invoke-virtual {p0}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->getImages()Ljava/util/List; move-result-object v0 const/4 v1, 0x0 if-eqz v0, :cond_1e invoke-virtual {p1}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->getImages()Ljava/util/List; move-result-object v0 if-nez v0, :cond_e goto :goto_1e .line 309 :cond_e invoke-virtual {p0}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->getImageNum()I move-result p0 .line 310 invoke-virtual {p1}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->getImageNum()I move-result p1 if-ne p0, p1, :cond_19 goto :goto_1e :cond_19 if-ge p0, p1, :cond_1d const/4 v1, 0x1 goto :goto_1e :cond_1d const/4 v1, -0x1 :cond_1e :goto_1e return v1 .end method .method private sortFolder(Ljava/util/List;)V .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Lcom/luck/picture/lib/entity/LocalMediaFolder;", ">;)V" } .end annotation .line 305 new-instance v0, Lcom/luck/picture/lib/model/LocalMediaLoader$$ExternalSyntheticLambda1; invoke-direct {v0}, Lcom/luck/picture/lib/model/LocalMediaLoader$$ExternalSyntheticLambda1;->()V invoke-static {p1, v0}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V return-void .end method # virtual methods .method public handleMessage(Landroid/os/Message;)Z .registers 4 .line 367 iget-object v0, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->mCompleteListener:Lcom/luck/picture/lib/model/LocalMediaLoader$LocalMediaLoadListener; const/4 v1, 0x0 if-nez v0, :cond_6 return v1 .line 368 :cond_6 iget v0, p1, Landroid/os/Message;->what:I if-eqz v0, :cond_b goto :goto_14 .line 370 :cond_b iget-object v0, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->mCompleteListener:Lcom/luck/picture/lib/model/LocalMediaLoader$LocalMediaLoadListener; iget-object p1, p1, Landroid/os/Message;->obj:Ljava/lang/Object; check-cast p1, Ljava/util/List; invoke-interface {v0, p1}, Lcom/luck/picture/lib/model/LocalMediaLoader$LocalMediaLoadListener;->loadComplete(Ljava/util/List;)V :goto_14 return v1 .end method .method synthetic lambda$loadAllMedia$0$com-luck-picture-lib-model-LocalMediaLoader()V .registers 24 .line 0 move-object/from16 v1, p0 .line 148 iget-object v0, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->mContext:Landroid/content/Context; invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v2 sget-object v3, Lcom/luck/picture/lib/model/LocalMediaLoader;->QUERY_URI:Landroid/net/Uri; sget-object v4, Lcom/luck/picture/lib/model/LocalMediaLoader;->PROJECTION:[Ljava/lang/String; invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/model/LocalMediaLoader;->getSelection()Ljava/lang/String; move-result-object v5 invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/model/LocalMediaLoader;->getSelectionArgs()[Ljava/lang/String; move-result-object v6 const-string v7, "_id DESC" invoke-virtual/range {v2 .. v7}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; move-result-object v0 if-eqz v0, :cond_19c .line 151 :try_start_1c new-instance v2, Ljava/util/ArrayList; invoke-direct {v2}, Ljava/util/ArrayList;->()V .line 152 new-instance v3, Lcom/luck/picture/lib/entity/LocalMediaFolder; invoke-direct {v3}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->()V .line 153 new-instance v4, Ljava/util/ArrayList; invoke-direct {v4}, Ljava/util/ArrayList;->()V .line 154 invoke-interface {v0}, Landroid/database/Cursor;->getCount()I move-result v5 const/4 v6, 0x0 if-lez v5, :cond_18d .line 156 invoke-interface {v0}, Landroid/database/Cursor;->moveToFirst()Z .line 158 :goto_35 sget-object v5, Lcom/luck/picture/lib/model/LocalMediaLoader;->PROJECTION:[Ljava/lang/String; aget-object v7, v5, v6 .line 159 invoke-interface {v0, v7}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I move-result v7 invoke-interface {v0, v7}, Landroid/database/Cursor;->getLong(I)J move-result-wide v7 .line 161 iget-boolean v9, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->isAndroidQ:Z const/4 v10, 0x1 if-eqz v9, :cond_4b invoke-direct {v1, v7, v8}, Lcom/luck/picture/lib/model/LocalMediaLoader;->getRealPathAndroid_Q(J)Ljava/lang/String; move-result-object v7 goto :goto_55 .line 162 :cond_4b aget-object v7, v5, v10 invoke-interface {v0, v7}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I move-result v7 invoke-interface {v0, v7}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v7 :goto_55 const/4 v8, 0x2 .line 164 aget-object v8, v5, v8 .line 165 invoke-interface {v0, v8}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I move-result v8 invoke-interface {v0, v8}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v16 const/4 v8, 0x3 .line 167 aget-object v8, v5, v8 .line 168 invoke-interface {v0, v8}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I move-result v8 invoke-interface {v0, v8}, Landroid/database/Cursor;->getInt(I)I move-result v8 const/4 v9, 0x4 .line 170 aget-object v9, v5, v9 .line 171 invoke-interface {v0, v9}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I move-result v9 invoke-interface {v0, v9}, Landroid/database/Cursor;->getInt(I)I move-result v9 const/4 v11, 0x5 .line 173 aget-object v11, v5, v11 .line 174 invoke-interface {v0, v11}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I move-result v11 invoke-interface {v0, v11}, Landroid/database/Cursor;->getLong(I)J move-result-wide v11 const/4 v13, 0x6 .line 176 aget-object v13, v5, v13 .line 177 invoke-interface {v0, v13}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I move-result v13 invoke-interface {v0, v13}, Landroid/database/Cursor;->getLong(I)J move-result-wide v19 const/4 v13, 0x7 .line 179 aget-object v5, v5, v13 .line 180 invoke-interface {v0, v5}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I move-result v5 invoke-interface {v0, v5}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v5 .line 181 iget-object v13, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget v13, v13, Lcom/luck/picture/lib/config/PictureSelectionConfig;->filterFileSize:I if-lez v13, :cond_ad .line 182 iget-object v13, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget v13, v13, Lcom/luck/picture/lib/config/PictureSelectionConfig;->filterFileSize:I int-to-long v13, v13 const-wide/32 v17, 0x100000 mul-long v13, v13, v17 cmp-long v13, v19, v13 if-lez v13, :cond_ad goto/16 :goto_13e .line 187 :cond_ad invoke-static/range {v16 .. v16}, Lcom/luck/picture/lib/config/PictureMimeType;->eqVideo(Ljava/lang/String;)Z move-result v13 if-eqz v13, :cond_10b const-wide/16 v13, 0x0 cmp-long v15, v11, v13 if-nez v15, :cond_c1 .line 189 iget-object v11, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->mContext:Landroid/content/Context; iget-boolean v12, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->isAndroidQ:Z invoke-static {v11, v12, v7}, Lcom/luck/picture/lib/tools/MediaUtils;->extractDuration(Landroid/content/Context;ZLjava/lang/String;)J move-result-wide v11 :cond_c1 if-nez v8, :cond_dd if-nez v9, :cond_dd .line 192 iget-boolean v8, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->isAndroidQ:Z if-eqz v8, :cond_d0 .line 193 iget-object v8, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->mContext:Landroid/content/Context; invoke-static {v8, v7}, Lcom/luck/picture/lib/tools/MediaUtils;->getLocalVideoSizeToAndroidQ(Landroid/content/Context;Ljava/lang/String;)[I move-result-object v8 goto :goto_d4 .line 194 :cond_d0 invoke-static {v7}, Lcom/luck/picture/lib/tools/MediaUtils;->getLocalVideoSize(Ljava/lang/String;)[I move-result-object v8 .line 195 :goto_d4 aget v9, v8, v6 .line 196 aget v8, v8, v10 move/from16 v22, v9 move v9, v8 move/from16 v8, v22 .line 198 :cond_dd iget-object v15, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget v15, v15, Lcom/luck/picture/lib/config/PictureSelectionConfig;->videoMinSecond:I if-lez v15, :cond_ef iget-object v15, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget v15, v15, Lcom/luck/picture/lib/config/PictureSelectionConfig;->videoMinSecond:I move-object/from16 v21, v7 int-to-long v6, v15 cmp-long v6, v11, v6 if-gez v6, :cond_f1 goto :goto_13e :cond_ef move-object/from16 v21, v7 .line 202 :cond_f1 iget-object v6, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget v6, v6, Lcom/luck/picture/lib/config/PictureSelectionConfig;->videoMaxSecond:I if-lez v6, :cond_101 iget-object v6, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget v6, v6, Lcom/luck/picture/lib/config/PictureSelectionConfig;->videoMaxSecond:I int-to-long v6, v6 cmp-long v6, v11, v6 if-lez v6, :cond_101 goto :goto_13e :cond_101 cmp-long v6, v11, v13 if-nez v6, :cond_106 goto :goto_13e :cond_106 cmp-long v6, v19, v13 if-gtz v6, :cond_10d goto :goto_13e :cond_10b move-object/from16 v21, v7 :cond_10d move/from16 v17, v8 move/from16 v18, v9 move-wide v13, v11 .line 216 new-instance v6, Lcom/luck/picture/lib/entity/LocalMedia; iget-object v7, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget v15, v7, Lcom/luck/picture/lib/config/PictureSelectionConfig;->chooseMode:I move-object v11, v6 move-object/from16 v12, v21 invoke-direct/range {v11 .. v20}, Lcom/luck/picture/lib/entity/LocalMedia;->(Ljava/lang/String;JILjava/lang/String;IIJ)V move-object/from16 v7, v21 .line 218 invoke-direct {v1, v7, v5, v2}, Lcom/luck/picture/lib/model/LocalMediaLoader;->getImageFolder(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lcom/luck/picture/lib/entity/LocalMediaFolder; move-result-object v5 .line 219 invoke-virtual {v5}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->getImages()Ljava/util/List; move-result-object v7 .line 220 invoke-interface {v7, v6}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 221 invoke-virtual {v5}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->getImageNum()I move-result v7 add-int/2addr v7, v10 invoke-virtual {v5, v7}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->setImageNum(I)V .line 222 invoke-interface {v4, v6}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 223 invoke-virtual {v3}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->getImageNum()I move-result v5 add-int/2addr v5, v10 .line 224 invoke-virtual {v3, v5}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->setImageNum(I)V .line 226 :goto_13e invoke-interface {v0}, Landroid/database/Cursor;->moveToNext()Z move-result v5 if-nez v5, :cond_18a .line 228 invoke-interface {v4}, Ljava/util/List;->size()I move-result v0 if-lez v0, :cond_18d .line 229 invoke-direct {v1, v2}, Lcom/luck/picture/lib/model/LocalMediaLoader;->sortFolder(Ljava/util/List;)V const/4 v0, 0x0 .line 230 invoke-interface {v2, v0, v3}, Ljava/util/List;->add(ILjava/lang/Object;)V .line 232 invoke-interface {v4, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Lcom/luck/picture/lib/entity/LocalMedia; invoke-virtual {v5}, Lcom/luck/picture/lib/entity/LocalMedia;->getPath()Ljava/lang/String; move-result-object v0 invoke-virtual {v3, v0}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->setFirstImagePath(Ljava/lang/String;)V .line 233 iget-object v0, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget v0, v0, Lcom/luck/picture/lib/config/PictureSelectionConfig;->chooseMode:I invoke-static {}, Lcom/luck/picture/lib/config/PictureMimeType;->ofAudio()I move-result v5 if-ne v0, v5, :cond_171 .line 234 iget-object v0, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->mContext:Landroid/content/Context; sget v5, Lcom/luck/picture/lib/R$string;->picture_all_audio:I invoke-virtual {v0, v5}, Landroid/content/Context;->getString(I)Ljava/lang/String; move-result-object v0 goto :goto_179 .line 235 :cond_171 iget-object v0, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->mContext:Landroid/content/Context; sget v5, Lcom/luck/picture/lib/R$string;->picture_camera_roll:I invoke-virtual {v0, v5}, Landroid/content/Context;->getString(I)Ljava/lang/String; move-result-object v0 .line 236 :goto_179 invoke-virtual {v3, v0}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->setName(Ljava/lang/String;)V .line 237 iget-object v0, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->config:Lcom/luck/picture/lib/config/PictureSelectionConfig; iget v0, v0, Lcom/luck/picture/lib/config/PictureSelectionConfig;->chooseMode:I invoke-virtual {v3, v0}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->setOfAllType(I)V .line 238 invoke-virtual {v3, v10}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->setCameraFolder(Z)V .line 239 invoke-virtual {v3, v4}, Lcom/luck/picture/lib/entity/LocalMediaFolder;->setImages(Ljava/util/List;)V goto :goto_18d :cond_18a const/4 v6, 0x0 goto/16 :goto_35 .line 243 :cond_18d :goto_18d iget-object v0, v1, Lcom/luck/picture/lib/model/LocalMediaLoader;->mHandler:Landroid/os/Handler; const/4 v3, 0x0 invoke-virtual {v0, v3, v2}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object v2 invoke-virtual {v0, v2}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z :try_end_197 .catch Ljava/lang/Exception; {:try_start_1c .. :try_end_197} :catch_198 goto :goto_19c :catch_198 move-exception v0 .line 246 invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V :cond_19c :goto_19c return-void .end method .method public loadAllMedia()V .registers 3 .line 147 sget-object v0, Landroid/os/AsyncTask;->SERIAL_EXECUTOR:Ljava/util/concurrent/Executor; new-instance v1, Lcom/luck/picture/lib/model/LocalMediaLoader$$ExternalSyntheticLambda0; invoke-direct {v1, p0}, Lcom/luck/picture/lib/model/LocalMediaLoader$$ExternalSyntheticLambda0;->(Lcom/luck/picture/lib/model/LocalMediaLoader;)V invoke-interface {v0, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V return-void .end method .method public setCompleteListener(Lcom/luck/picture/lib/model/LocalMediaLoader$LocalMediaLoadListener;)V .registers 2 .line 379 iput-object p1, p0, Lcom/luck/picture/lib/model/LocalMediaLoader;->mCompleteListener:Lcom/luck/picture/lib/model/LocalMediaLoader$LocalMediaLoadListener; return-void .end method