传送门

原版 UA 地址:https://redirector.googlevideo.com/videoplayback?expire=1615224901&ei=xe9FYOTnCcjEj-8PtZiqgA0&ip=149.56.143.221&id=9d268d40a0fea18a&itag=18&source=blogger&mh=yS&mm=31&mn=sn-25glen7l&ms=au&mv=u&mvi=4&pl=27&susc=bl&mime=video/mp4&vprv=1&dur=1369.675&lmt=1468197362114258&mt=1615195766&sparams=expire,ei,ip,id,itag,source,susc,mime,vprv,dur,lmt&sig=AOq0QJ8wRQIgCSMHxrVvWA2kN7co4H4AhX8dEjKu_zkM_58ofTXpjyoCIQCU5BDoAP5Q2JKFdDD0H3Sk0YbErIwjX5i66bIUKIGxjQ%3D%3D&lsparams=mh,mm,mn,ms,mv,mvi,pl&lsig=AG3C_xAwRAIgYY86268nl5BMWVGb_KAkyMlSg7QXELrQVgzW3jbEXt0CIFhHcNf0MSnRsZR2mbxUTludoPoVlHHHwJFACiLCOIAx

修改 iPhone UA 地址: https://redirector.googlevideo.com/videoplayback?expire=1615224901&ei=xe9FYOTnCcjEj-8PtZiqgA0&ip=149.56.143.221&id=9d268d40a0fea18a&itag=18&source=blogger&mh=yS&mm=31&mn=sn-25glen7l&ms=au&mv=u&mvi=4&pl=27&susc=bl&mime=video/mp4&vprv=1&dur=1369.675&lmt=1468197362114258&mt=1615195766&sparams=expire,ei,ip,id,itag,source,susc,mime,vprv,dur,lmt&sig=AOq0QJ8wRQIgCSMHxrVvWA2kN7co4H4AhX8dEjKu_zkM_58ofTXpjyoCIQCU5BDoAP5Q2JKFdDD0H3Sk0YbErIwjX5i66bIUKIGxjQ%3D%3D&lsparams=mh,mm,mn,ms,mv,mvi,pl&lsig=AG3C_xAwRAIgYY86268nl5BMWVGb_KAkyMlSg7QXELrQVgzW3jbEXt0CIFhHcNf0MSnRsZR2mbxUTludoPoVlHHHwJFACiLCOIAx

线上版UA :https://redirector.googlevideo.com/videoplayback?expire=1614775162&ei=-hI_YJS3FsGNj-8PoNm3qA4&ip=191.252.186.23&id=14a1a701cb3edd60&itag=18&source=blogger&mh=sO&mm=31&mn=sn-bg07dnz7&ms=au&mv=m&mvi=4&pl=24&susc=bl&mime=video/mp4&vprv=1&dur=26.981&lmt=1614734344985140&mt=1614746191&txp=1310224&sparams=expire,ei,ip,id,itag,source,susc,mime,vprv,dur,lmt&sig=AOq0QJ8wRAIgZ3R9KkteWFAntNCWwo-oNgz09r1YIB43z1c-LDdNAOoCIAtT5KnpQqm-80AT5WUX6reZCFFsSS32r1aNKgwRLy9W&lsparams=mh,mm,mn,ms,mv,mvi,pl&lsig=AG3C_xAwRgIhAJd9ts3q1wifBpvY6K8qZsHoqUmKrHU8ViVLKrkC34daAiEAyBrZ97mJYYd-jQGpELBx_1gUWATenUNYs7tcOV-6ync%3D

米6 UA :https://redirector.googlevideo.com/videoplayback?expire=1615224901&ei=xe9FYOTnCcjEj-8PtZiqgA0&ip=149.56.143.221&id=9d268d40a0fea18a&itag=18&source=blogger&mh=yS&mm=31&mn=sn-25glen7l&ms=au&mv=u&mvi=4&pl=27&susc=bl&mime=video/mp4&vprv=1&dur=1369.675&lmt=1468197362114258&mt=1615195766&sparams=expire,ei,ip,id,itag,source,susc,mime,vprv,dur,lmt&sig=AOq0QJ8wRQIgCSMHxrVvWA2kN7co4H4AhX8dEjKu_zkM_58ofTXpjyoCIQCU5BDoAP5Q2JKFdDD0H3Sk0YbErIwjX5i66bIUKIGxjQ%3D%3D&lsparams=mh,mm,mn,ms,mv,mvi,pl&lsig=AG3C_xAwRAIgYY86268nl5BMWVGb_KAkyMlSg7QXELrQVgzW3jbEXt0CIFhHcNf0MSnRsZR2mbxUTludoPoVlHHHwJFACiLCOIAx

P30 UA :https://redirector.googlevideo.com/videoplayback?expire=1615224901&ei=xe9FYOTnCcjEj-8PtZiqgA0&ip=149.56.143.221&id=9d268d40a0fea18a&itag=18&source=blogger&mh=yS&mm=31&mn=sn-25glen7l&ms=au&mv=u&mvi=4&pl=27&susc=bl&mime=video/mp4&vprv=1&dur=1369.675&lmt=1468197362114258&mt=1615195766&sparams=expire,ei,ip,id,itag,source,susc,mime,vprv,dur,lmt&sig=AOq0QJ8wRQIgCSMHxrVvWA2kN7co4H4AhX8dEjKu_zkM_58ofTXpjyoCIQCU5BDoAP5Q2JKFdDD0H3Sk0YbErIwjX5i66bIUKIGxjQ%3D%3D&lsparams=mh,mm,mn,ms,mv,mvi,pl&lsig=AG3C_xAwRAIgYY86268nl5BMWVGb_KAkyMlSg7QXELrQVgzW3jbEXt0CIFhHcNf0MSnRsZR2mbxUTludoPoVlHHHwJFACiLCOIAx

4800000074067C102ACA446A07C022A075D0EFA11F5E0CD516B2FDF03B6626F262E0DFA8362DC20C3846781F3AC6D38BF518041C2351AD451D6DC50FB0255A72F4A8326FAF8AE017722E07CCB52D3F62

4386511514987859269Z1609473955

videoeffect.oss-us-west-1.aliyuncs.com

package com.sensustech.smarttvcast.Utils;

import android.view.View;
import androidx.recyclerview.widget.RecyclerView;
import com.sensustech.smarttvcast.R;

public class ItemClickSupport {
private RecyclerView.OnChildAttachStateChangeListener mAttachListener = new RecyclerView.OnChildAttachStateChangeListener() {
/* class com.sensustech.smarttvcast.Utils.ItemClickSupport.AnonymousClass3 */

    @Override // androidx.recyclerview.widget.RecyclerView.OnChildAttachStateChangeListener
    public void onChildViewDetachedFromWindow(View view) {
    }

    @Override // androidx.recyclerview.widget.RecyclerView.OnChildAttachStateChangeListener
    public void onChildViewAttachedToWindow(View view) {
        if (ItemClickSupport.this.mOnItemClickListener != null) {
            view.setOnClickListener(ItemClickSupport.this.mOnClickListener);
        }
        if (ItemClickSupport.this.mOnItemLongClickListener != null) {
            view.setOnLongClickListener(ItemClickSupport.this.mOnLongClickListener);
        }
    }
};
private View.OnClickListener mOnClickListener = new View.OnClickListener() {
    /* class com.sensustech.smarttvcast.Utils.ItemClickSupport.AnonymousClass1 */

    public void onClick(View view) {
        if (ItemClickSupport.this.mOnItemClickListener != null) {
            ItemClickSupport.this.mOnItemClickListener.onItemClicked(ItemClickSupport.this.mRecyclerView, ItemClickSupport.this.mRecyclerView.getChildViewHolder(view).getAdapterPosition(), view);
        }
    }
};
private OnItemClickListener mOnItemClickListener;
private OnItemLongClickListener mOnItemLongClickListener;
private View.OnLongClickListener mOnLongClickListener = new View.OnLongClickListener() {
    /* class com.sensustech.smarttvcast.Utils.ItemClickSupport.AnonymousClass2 */

    public boolean onLongClick(View view) {
        if (ItemClickSupport.this.mOnItemLongClickListener == null) {
            return false;
        }
        return ItemClickSupport.this.mOnItemLongClickListener.onItemLongClicked(ItemClickSupport.this.mRecyclerView, ItemClickSupport.this.mRecyclerView.getChildViewHolder(view).getAdapterPosition(), view);
    }
};
private final RecyclerView mRecyclerView;

public interface OnItemClickListener {
    void onItemClicked(RecyclerView recyclerView, int i, View view);
}

public interface OnItemLongClickListener {
    boolean onItemLongClicked(RecyclerView recyclerView, int i, View view);
}

private ItemClickSupport(RecyclerView recyclerView) {
    this.mRecyclerView = recyclerView;
    recyclerView.setTag(R.id.item_click_support, this);
    this.mRecyclerView.addOnChildAttachStateChangeListener(this.mAttachListener);
}

public static ItemClickSupport addTo(RecyclerView recyclerView) {
    ItemClickSupport itemClickSupport = (ItemClickSupport) recyclerView.getTag(R.id.item_click_support);
    return itemClickSupport == null ? new ItemClickSupport(recyclerView) : itemClickSupport;
}

public static ItemClickSupport removeFrom(RecyclerView recyclerView) {
    ItemClickSupport itemClickSupport = (ItemClickSupport) recyclerView.getTag(R.id.item_click_support);
    if (itemClickSupport != null) {
        itemClickSupport.detach(recyclerView);
    }
    return itemClickSupport;
}

public ItemClickSupport setOnItemClickListener(OnItemClickListener onItemClickListener) {
    this.mOnItemClickListener = onItemClickListener;
    return this;
}

public ItemClickSupport setOnItemLongClickListener(OnItemLongClickListener onItemLongClickListener) {
    this.mOnItemLongClickListener = onItemLongClickListener;
    return this;
}

private void detach(RecyclerView recyclerView) {
    recyclerView.removeOnChildAttachStateChangeListener(this.mAttachListener);
    recyclerView.setTag(R.id.item_click_support, null);
}

}








import android.accounts.Account;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.gms.auth.api.signin.GoogleSignIn;
import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
import com.google.android.gms.auth.api.signin.GoogleSignInOptions;
import com.google.android.gms.common.api.Scope;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.api.client.extensions.android.http.AndroidHttp;
import com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential;
import com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException;
import com.google.api.client.json.gson.GsonFactory;
import com.google.api.services.drive.Drive;
import com.google.api.services.drive.DriveScopes;
import com.google.api.services.drive.model.File;
import com.google.api.services.drive.model.FileList;
import com.sensustech.smarttvcast.Adapters.GDAdapter;
import com.sensustech.smarttvcast.Utils.AdsManager;
import com.sensustech.smarttvcast.Utils.GoogleDrive.DriveServiceHelper;
import com.sensustech.smarttvcast.Utils.ItemClickSupport;
import com.sensustech.smarttvcast.Utils.StreamingManager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class GoogleDriveActivity extends AppCompatActivity {
private static final int REQUEST_CODE_SIGN_IN = 1;
private static final String TAG = "GoogleDriveActivity";
private GDAdapter adapter;
private List files = new ArrayList();
private String gdPath = "";
private DriveServiceHelper mDriveServiceHelper;
private LinearLayoutManager manager;
private boolean needShowAds = false;
private ArrayList paths = new ArrayList<>();
private ProgressDialog progressDialog;
private RecyclerView recyclerView;
private Toolbar toolbar;

/* access modifiers changed from: protected */
@Override // androidx.activity.ComponentActivity, androidx.core.app.ComponentActivity, androidx.appcompat.app.AppCompatActivity, androidx.fragment.app.FragmentActivity
public void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    setContentView(R.layout.activity_cloud);
    this.toolbar = (Toolbar) findViewById(R.id.toolbar);
    this.recyclerView = (RecyclerView) findViewById(R.id.recycler);
    setSupportActionBar(this.toolbar);
    setTitle("Google Drive");
    boolean z = true;
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
    this.manager = linearLayoutManager;
    this.recyclerView.setLayoutManager(linearLayoutManager);
    ItemClickSupport.addTo(this.recyclerView).setOnItemClickListener(new ItemClickSupport.OnItemClickListener() {
        /* class com.sensustech.smarttvcast.GoogleDriveActivity.AnonymousClass1 */

        @Override // com.sensustech.smarttvcast.Utils.ItemClickSupport.OnItemClickListener
        public void onItemClicked(RecyclerView recyclerView, int i, View view) {
            File file = (File) GoogleDriveActivity.this.files.get(i);
            if (file.getMimeType().contains("folder")) {
                GoogleDriveActivity.this.setTitle(file.getName());
                GoogleDriveActivity.this.gdPath = file.getId();
                GoogleDriveActivity.this.paths.add(file);
                GoogleDriveActivity.this.loadData();
            } else if (!StreamingManager.getInstance(GoogleDriveActivity.this).isDeviceConnected()) {
                GoogleDriveActivity.this.startActivity(new Intent(GoogleDriveActivity.this, ConnectActivity.class));
            } else {
                GoogleDriveActivity.this.shareFile(file.getName(), file.getId(), file.getMimeType());
            }
        }
    });
    GoogleAccountCredential usingOAuth2 = GoogleAccountCredential.usingOAuth2(this, Collections.singleton("https://www.googleapis.com/auth/drive.file"));
    SharedPreferences sharedPreferences = getSharedPreferences("googledrive-smartcast", 0);
    if (sharedPreferences.getString("selectedAccount", null) != null) {
        Account[] allAccounts = usingOAuth2.getAllAccounts();
        int length = allAccounts.length;
        int i = 0;
        while (true) {
            if (i >= length) {
                z = false;
                break;
            }
            Account account = allAccounts[i];
            if (account.name.equals(sharedPreferences.getString("selectedAccount", null))) {
                usingOAuth2.setSelectedAccount(account);
                this.mDriveServiceHelper = new DriveServiceHelper(new Drive.Builder(AndroidHttp.newCompatibleTransport(), new GsonFactory(), usingOAuth2).setApplicationName("Smart TV Cast").build());
                loadData();
                break;
            }
            i++;
        }
        if (!z) {
            requestSignIn();
        } else {
            showAds();
        }
    } else {
        requestSignIn();
    }
}

public void showAds() {
    if (!AdsManager.getInstance().isPremium(this)) {
        AdsManager.getInstance().showAds();
    }
}

private void requestSignIn() {
    this.needShowAds = true;
    startActivityForResult(GoogleSignIn.getClient((Activity) this, new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestEmail().requestScopes(new Scope(DriveScopes.DRIVE_READONLY), new Scope[0]).build()).getSignInIntent(), 1);
}

public void requestSignOut() {
    GoogleSignIn.getClient((Activity) this, new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestEmail().requestScopes(new Scope(DriveScopes.DRIVE_READONLY), new Scope[0]).build()).signOut();
}

/* access modifiers changed from: private */
/* access modifiers changed from: public */
private void shareFile(String str, String str2, String str3) {
    String str4 = "https://drive.google.com/uc?export=download&id=" + str2;
    if (str.toLowerCase().endsWith(".png") || str.toLowerCase().endsWith(".jpg") || str.toLowerCase().endsWith(".jpg") || str.toLowerCase().endsWith(".jpeg") || str.toLowerCase().endsWith(".gif")) {
        StreamingManager.getInstance(this).showContent(str, str3, str4);
    } else if (str.toLowerCase().endsWith(".mov") || str.toLowerCase().endsWith(".mp4")) {
        StreamingManager.getInstance(this).playMedia(str, str3, str4);
    } else if (str.toLowerCase().endsWith(".mp3") || str.toLowerCase().endsWith(".wav")) {
        StreamingManager.getInstance(this).playAudio(str, str3, str4);
    }
    showAds();
}

public void loadData() {
    if (this.mDriveServiceHelper != null) {
        showProgress("Loading files...");
        this.mDriveServiceHelper.queryFiles(this.gdPath).addOnSuccessListener(new OnSuccessListener() {
            /* class com.sensustech.smarttvcast.GoogleDriveActivity.AnonymousClass3 */

            public void onSuccess(FileList fileList) {
                GoogleDriveActivity.this.hideProgress();
                ArrayList arrayList = new ArrayList();
                for (File file : fileList.getFiles()) {
                    if (file.getOwnedByMe().booleanValue()) {
                        if (!file.getMimeType().contains("folder")) {
                            String name = file.getName();
                            if (name.toLowerCase().endsWith(".png") || name.toLowerCase().endsWith(".jpg") || name.toLowerCase().endsWith(".jpg") || name.toLowerCase().endsWith(".jpeg") || name.toLowerCase().endsWith(".gif")) {
                                arrayList.add(file);
                            } else if (name.toLowerCase().endsWith(".mov") || name.endsWith(".mp4")) {
                                arrayList.add(file);
                            } else if (name.toLowerCase().endsWith(".mp3") || name.toLowerCase().endsWith(".wav")) {
                                arrayList.add(file);
                            }
                        } else {
                            arrayList.add(file);
                        }
                    }
                }
                GoogleDriveActivity.this.files = arrayList;
                GoogleDriveActivity.this.adapter = new GDAdapter(GoogleDriveActivity.this.files, GoogleDriveActivity.this);
                GoogleDriveActivity.this.recyclerView.setAdapter(GoogleDriveActivity.this.adapter);
                if (GoogleDriveActivity.this.needShowAds) {
                    GoogleDriveActivity.this.showAds();
                }
            }
        }).addOnFailureListener(new OnFailureListener() {
            /* class com.sensustech.smarttvcast.GoogleDriveActivity.AnonymousClass2 */

            @Override // com.google.android.gms.tasks.OnFailureListener
            public void onFailure(Exception exc) {
                exc.printStackTrace();
                GoogleDriveActivity.this.hideProgress();
                if (exc instanceof UserRecoverableAuthIOException) {
                    GoogleDriveActivity.this.startActivityForResult(((UserRecoverableAuthIOException) exc).getIntent(), 1);
                }
            }
        });
    }
}

@Override // androidx.fragment.app.FragmentActivity
public void onActivityResult(int i, int i2, Intent intent) {
    if (i == 1 && i2 == -1 && intent != null) {
        handleSignInResult(intent);
    }
    super.onActivityResult(i, i2, intent);
}

private void handleSignInResult(Intent intent) {
    GoogleSignIn.getSignedInAccountFromIntent(intent).addOnSuccessListener(new OnSuccessListener() {
        /* class com.sensustech.smarttvcast.GoogleDriveActivity.AnonymousClass5 */

        public void onSuccess(GoogleSignInAccount googleSignInAccount) {
            GoogleAccountCredential usingOAuth2 = GoogleAccountCredential.usingOAuth2(GoogleDriveActivity.this, Collections.singleton("https://www.googleapis.com/auth/drive.file"));
            usingOAuth2.setSelectedAccount(googleSignInAccount.getAccount());
            GoogleDriveActivity.this.getSharedPreferences("googledrive-smartcast", 0).edit().putString("selectedAccount", googleSignInAccount.getAccount().name).commit();
            Drive build = new Drive.Builder(AndroidHttp.newCompatibleTransport(), new GsonFactory(), usingOAuth2).setApplicationName("Smart TV Cast").build();
            GoogleDriveActivity.this.mDriveServiceHelper = new DriveServiceHelper(build);
            GoogleDriveActivity.this.loadData();
        }
    }).addOnFailureListener(new OnFailureListener() {
        /* class com.sensustech.smarttvcast.GoogleDriveActivity.AnonymousClass4 */

        @Override // com.google.android.gms.tasks.OnFailureListener
        public void onFailure(Exception exc) {
            Log.e(GoogleDriveActivity.TAG, "Unable to sign in.", exc);
        }
    });
}

private void showProgress(String str) {
    ProgressDialog progressDialog2 = new ProgressDialog(this);
    this.progressDialog = progressDialog2;
    progressDialog2.setMessage(str);
    this.progressDialog.setCancelable(false);
    this.progressDialog.show();
}

/* access modifiers changed from: private */
/* access modifiers changed from: public */
private void hideProgress() {
    ProgressDialog progressDialog2 = this.progressDialog;
    if (progressDialog2 != null && progressDialog2.isShowing()) {
        this.progressDialog.dismiss();
        this.progressDialog = null;
    }
}

public boolean onOptionsItemSelected(MenuItem menuItem) {
    if (menuItem.getItemId() == 16908332) {
        onBackPressed();
    }
    return super.onOptionsItemSelected(menuItem);
}

@Override // androidx.activity.ComponentActivity
public void onBackPressed() {
    if (this.paths.size() == 0) {
        finish();
        return;
    }
    ArrayList arrayList = this.paths;
    arrayList.remove(arrayList.size() - 1);
    if (this.paths.size() == 0) {
        this.gdPath = "";
        setTitle("Google Drive");
    } else {
        ArrayList arrayList2 = this.paths;
        this.gdPath = arrayList2.get(arrayList2.size() - 1).getId();
        ArrayList arrayList3 = this.paths;
        setTitle(arrayList3.get(arrayList3.size() - 1).getName());
    }
    loadData();
}

public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.exit_menu, menu);
    menu.findItem(R.id.action_exit).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
        /* class com.sensustech.smarttvcast.GoogleDriveActivity.AnonymousClass6 */

        public boolean onMenuItemClick(MenuItem menuItem) {
            GoogleDriveActivity.this.getSharedPreferences("googledrive-smartcast", 0).edit().putString("selectedAccount", null).commit();
            GoogleDriveActivity.this.requestSignOut();
            GoogleDriveActivity.this.finish();
            return true;
        }
    });
    super.onCreateOptionsMenu(menu);
    return true;
}

}












package com.sensustech.smarttvcast.Adapters;

import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.google.api.services.drive.model.File;
import com.sensustech.smarttvcast.R;
import com.squareup.picasso.Picasso;
import java.util.List;

public class GDAdapter extends RecyclerView.Adapter {
    private static final int VIEW_TYPE_FILE = 2;
    private static final int VIEW_TYPE_FOLDER = 1;
    private Activity activity;
    private List files;

    public GDAdapter(List list, Activity activity2) {
        this.files = list;
        this.activity = activity2;
    }

    @Override // androidx.recyclerview.widget.RecyclerView.Adapter
    public int getItemViewType(int i) {
        return this.files.get(i).getMimeType().contains("folder") ? 1 : 2;
    }

    @Override // androidx.recyclerview.widget.RecyclerView.Adapter
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
        if (i == 1) {
            return new FolderViewHolder(LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.cloud_folder_item, viewGroup, false));
        }
        if (i == 2) {
            return new FileViewHolder(LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.cloud_file_item, viewGroup, false));
        }
        return null;
    }

    @Override // androidx.recyclerview.widget.RecyclerView.Adapter
    public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int i) {
        int itemViewType = viewHolder.getItemViewType();
        if (itemViewType == 1) {
            ((FolderViewHolder) viewHolder).title.setText(this.files.get(i).getName());
        } else if (itemViewType == 2) {
            FileViewHolder fileViewHolder = (FileViewHolder) viewHolder;
            String name = this.files.get(i).getName();
            fileViewHolder.title.setText(name);
            if (name.endsWith(".png") || name.endsWith(".jpg") || name.endsWith(".jpg") || name.endsWith(".jpeg") || name.endsWith(".gif")) {
                Picasso.get().load(this.files.get(i).getThumbnailLink()).into(fileViewHolder.image);
            }
            if (name.endsWith(".mov") || name.endsWith(".mp4")) {
                fileViewHolder.image.setImageResource(R.drawable.db_video);
            }
            if (name.endsWith(".mp3") || name.endsWith(".wav")) {
                fileViewHolder.image.setImageResource(R.drawable.db_audio);
            }
        }
    }

    @Override // androidx.recyclerview.widget.RecyclerView.Adapter
    public int getItemCount() {
        return this.files.size();
    }

    public static class FolderViewHolder extends RecyclerView.ViewHolder {
        private TextView title;

        public FolderViewHolder(View view) {
            super(view);
            this.title = (TextView) view.findViewById(R.id.tv_name_folder);
        }
    }

    public static class FileViewHolder extends RecyclerView.ViewHolder {
        private ImageView image;
        private TextView title;

        public FileViewHolder(View view) {
            super(view);
            this.title = (TextView) view.findViewById(R.id.tv_name_file);
            this.image = (ImageView) view.findViewById(R.id.image_file);
        }
    }
}

https://accounts.google.com/signup/v2/webcreateaccount?service=androiddeveloper&continue=https%3A%2F%2Fplay.google.com%2Fapps%2Fpublish%23&gmb=exp&biz=false&flowName=GlifWebSignIn&flowEntry=SignUp

https://www.socialmateapp.net/testweb.html

伪装前手机端

伪装前控制台

伪装后手机端

伪装后控制台

for(n in navigator){console.log(n+":"+navigator[n])}

B4A8FC8F4A264F9B850B797F9209DF9246A507FA

data:image/png;base64,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QAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFfqvA/wIQwv7FhGsOqgAAAABJRU5ErkJggg==

info:
Mozilla/5.
data:image/png;base64,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QAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFfqvA/wIQwv7FhGsOqgAAAABJRU5ErkJggg==

info:
data:image/png;base64,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+KncXJ20N7f57bm1ZFYf/ZKa21zwT3WVYwDodInwyv+EcsjP5cZN419yPu5LAQrUL3BHZFj1X/qdu5QZ1p372fPKKUABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFfqHAfwGrhvrDwXkmHgAAAABJRU5ErkJggg==
info:
canvasPrint:
data:image/png;base64,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QAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFfqvA/wIQwv7FhGsOqgAAAABJRU5ErkJggg==

info:

原始ip6
原始6/6s对比图

canvasPrint:
data:image/png;base64,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QAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSg


展开查看

System.out.println("Hello");

AAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFKEABClCAAhSgAAUoQAEKUIACFKAABShAAQpQgAIUoAAFfqvA/wIQwv7FhGsOqgAAAABJRU5ErkJggg==

info:

smali_classes2/net/coocent/android/xmlparser/application/AbstractApplication.smali

新增 p25;
注释p53/p56

你可能感兴趣的:(传送门)