Skip to content

Commit

Permalink
JAViewer 1.1 完整内容页
Browse files Browse the repository at this point in the history
  • Loading branch information
SplashCodes committed Sep 24, 2016
1 parent 7293232 commit 0c99afe
Show file tree
Hide file tree
Showing 36 changed files with 776 additions and 201 deletions.
12 changes: 7 additions & 5 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ android {
minSdkVersion 15
targetSdkVersion 24
versionCode 1
versionName "1.0"
versionName "1.1"
}
buildTypes {
release {
Expand All @@ -23,13 +23,15 @@ dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'jp.wasabeef:recyclerview-animators:2.2.3'
compile 'com.android.support:appcompat-v7:24.1.1'
compile 'com.android.support:design:24.1.1'
compile 'com.android.support:appcompat-v7:24.2.1'
compile "com.wefika:flowlayout:0.4.1"
compile 'com.android.support:design:24.2.1'
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.android.support:palette-v7:24.2.1'
compile 'com.squareup.retrofit2:retrofit:2.0.2'
compile 'com.android.support:support-v4:24.1.1'
compile 'com.android.support:support-v4:24.2.1'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
compile 'org.jsoup:jsoup:1.9.2'
compile 'com.google.code.gson:gson:2.7'
compile 'com.android.support:cardview-v7:24.1.1'
compile 'com.android.support:cardview-v7:24.2.1'
}
25 changes: 23 additions & 2 deletions app/src/main/java/io/github/javiewer/Javiewer.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,15 @@
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import io.github.javiewer.network.BTSO;
import io.github.javiewer.network.TorrentKitty;
import okhttp3.Cookie;
import okhttp3.CookieJar;
import okhttp3.HttpUrl;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
Expand All @@ -22,7 +28,7 @@
* Created by MagicDroidX on 2016/9/23.
*/

public class Javiewer {
public class JAViewer {
public static final String VERSION = "1.0.1";

public static final String USER_AGENT = "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48B; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.65 Mobile Safari/537.36";
Expand All @@ -38,7 +44,22 @@ public Response intercept(Interceptor.Chain chain) throws IOException {

return chain.proceed(request);
}
}).build();
})
.cookieJar(new CookieJar() {
private final HashMap<HttpUrl, List<Cookie>> cookieStore = new HashMap<>();

@Override
public void saveFromResponse(HttpUrl url, List<Cookie> cookies) {
cookieStore.put(url, cookies);
}

@Override
public List<Cookie> loadForRequest(HttpUrl url) {
List<Cookie> cookies = cookieStore.get(url);
return cookies != null ? cookies : new ArrayList<Cookie>();
}
})
.build();

public static final Retrofit RETROFIT_BTSO = new Retrofit.Builder()
.baseUrl(BTSO.BASE_URL)
Expand Down
17 changes: 12 additions & 5 deletions app/src/main/java/io/github/javiewer/activity/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@

import butterknife.Bind;
import butterknife.ButterKnife;
import io.github.javiewer.Javiewer;
import io.github.javiewer.JAViewer;
import io.github.javiewer.Properties;
import io.github.javiewer.R;
import io.github.javiewer.fragment.ActressesFragment;
Expand Down Expand Up @@ -90,7 +90,7 @@ protected void onCreate(Bundle savedInstanceState) {
AlertDialog dialog = new AlertDialog.Builder(this)
.setCancelable(false)
.setTitle("提示")
.setMessage("你好!\n欢迎使用Javiewer\n即将请求储存空间权限,用于图片缓存功能,减少重复流量消耗")
.setMessage("你好!\n欢迎使用JAViewer\n即将请求储存空间权限,用于图片缓存功能,减少重复流量消耗")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Expand All @@ -108,14 +108,14 @@ public void onClick(DialogInterface dialog, int which) {
Request request = new Request.Builder()
.url("https://raw.githubusercontent.com/SplashCodes/JAViewer/master/properties.json")
.build();
Javiewer.HTTP_CLIENT.newCall(request).enqueue(new Callback() {
JAViewer.HTTP_CLIENT.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}

@Override
public void onResponse(Call call, Response response) throws IOException {
final Properties properties = Javiewer.parseJson(Properties.class, response.body().string());
final Properties properties = JAViewer.parseJson(Properties.class, response.body().string());
if (properties != null) {
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
Expand All @@ -129,7 +129,14 @@ public void run() {
}

public void handleProperties(Properties properties) {
if (properties.getLatestVersion() != null && !Javiewer.VERSION.equals(properties.getLatestVersion())) {
String currentVersion;
try {
currentVersion = this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
throw new RuntimeException("Hacked???");
}

if (properties.getLatestVersion() != null && !currentVersion.trim().equals(properties.getLatestVersion().trim())) {

String message = "新版本:" + properties.getLatestVersion();
if (properties.getChangelog() != null) {
Expand Down
97 changes: 75 additions & 22 deletions app/src/main/java/io/github/javiewer/activity/MovieActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.support.v7.widget.Toolbar;
Expand All @@ -14,17 +15,18 @@
import android.widget.TextView;

import com.nostra13.universalimageloader.core.ImageLoader;
import com.wefika.flowlayout.FlowLayout;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import butterknife.Bind;
import butterknife.ButterKnife;
import io.github.javiewer.R;
import io.github.javiewer.adapter.ActressPaletteAdapter;
import io.github.javiewer.adapter.MovieHeaderAdapter;
import io.github.javiewer.adapter.ScreenshotAdapter;
import io.github.javiewer.adapter.item.Genre;
import io.github.javiewer.adapter.item.MovieDetail;
import io.github.javiewer.adapter.item.Screenshot;
import io.github.javiewer.network.AVMO;
import io.github.javiewer.network.provider.AVMOProvider;
import io.github.javiewer.view.ViewUtil;
Expand All @@ -49,10 +51,10 @@ public class MovieActivity extends AppCompatActivity {
@Bind(R.id.fab)
FloatingActionButton mFab;

String code;

@Bind(R.id.genre_flow_layout)
FlowLayout mFlowLayout;

List<Screenshot> screenshots = new ArrayList<>();
String code;

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand Down Expand Up @@ -96,9 +98,6 @@ public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response)

ImageLoader.getInstance().displayImage(detail.coverUrl, mToolbarLayoutBackgroud);

screenshots.clear();
screenshots.addAll(detail.screenshots);

displayInfo(detail);
} catch (IOException e) {
onFailure(call, e);
Expand All @@ -124,30 +123,84 @@ private void displayInfo(MovieDetail detail) {

//Info
{
TextView mCodeText = (TextView) findViewById(R.id.info_text_code);
TextView mDateText = (TextView) findViewById(R.id.info_text_date);
TextView mDurationText = (TextView) findViewById(R.id.info_text_duration);
mCodeText.setText(detail.code);
mDateText.setText(detail.date);
mDurationText.setText(detail.duration);
RecyclerView mRecyclerView = (RecyclerView) findViewById(R.id.headers_recycler_view);
TextView mText = (TextView) findViewById(R.id.header_empty_text);
ImageView mIcon = (ImageView) findViewById(R.id.movie_icon_header);

if (detail.headers.isEmpty()) {
mRecyclerView.setVisibility(View.GONE);
mText.setVisibility(View.VISIBLE);
ViewUtil.alignIconToView(mIcon, mText);
} else {
mRecyclerView.setAdapter(new MovieHeaderAdapter(detail.headers, this, mIcon));
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mRecyclerView.setNestedScrollingEnabled(false);
}
}

//Screenshots
{
RecyclerView mRecyclerView = (RecyclerView) findViewById(R.id.screenshots_recycler_view);
TextView mText = (TextView) findViewById(R.id.screenshots_text);
ImageView mIcon = (ImageView) findViewById(R.id.movie_icon_photo);
TextView mText = (TextView) findViewById(R.id.screenshots_empty_text);
ImageView mIcon = (ImageView) findViewById(R.id.movie_icon_screenshots);

if (detail.screenshots.isEmpty()) {
mRecyclerView.setVisibility(View.GONE);
mText.setVisibility(View.VISIBLE);
ViewUtil.alignIconToView(mIcon, mText);
} else {
mRecyclerView.setAdapter(new ScreenshotAdapter(detail.screenshots, this, mIcon));
mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(4, StaggeredGridLayoutManager.VERTICAL));
mRecyclerView.setNestedScrollingEnabled(false);
}
}

mRecyclerView.setAdapter(new ScreenshotAdapter(screenshots, this, mIcon));
mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(4, StaggeredGridLayoutManager.VERTICAL));
mRecyclerView.setNestedScrollingEnabled(false);
//Actress
{
RecyclerView mRecyclerView = (RecyclerView) findViewById(R.id.actresses_recycler_view);
TextView mText = (TextView) findViewById(R.id.actresses_empty_text);
ImageView mIcon = (ImageView) findViewById(R.id.movie_icon_actresses);

if (screenshots.isEmpty()) {
if (detail.actresses.isEmpty()) {
mRecyclerView.setVisibility(View.GONE);
mText.setVisibility(View.VISIBLE);
ViewUtil.alignIconToView(mIcon, mText);
} else {
mRecyclerView.setAdapter(new ActressPaletteAdapter(detail.actresses, this, mIcon));
mRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
mRecyclerView.setNestedScrollingEnabled(false);
}
}

ViewUtil.alignIconToView(mIcon, mText);
{
boolean first = true;
for (final Genre genre : detail.genres) {
View view = getLayoutInflater().inflate(R.layout.card_genre_movie, mFlowLayout, false);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (genre.getLink() != null) {
Intent intent = new Intent(MovieActivity.this, MovieListActivity.class);
Bundle bundle = new Bundle();
bundle.putString("title", genre.getName());
bundle.putString("query", genre.getLink());

intent.putExtras(bundle);
startActivity(intent);
}
}
});
TextView textView = (TextView) view.findViewById(R.id.chip_genre_name);
textView.setText(genre.getName());

mFlowLayout.addView(view);

if (first) {
ImageView mIcon = (ImageView) findViewById(R.id.movie_icon_genre);
ViewUtil.alignIconToView(mIcon, view);
first = false;
}
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

import butterknife.Bind;
import butterknife.ButterKnife;
import io.github.javiewer.Javiewer;
import io.github.javiewer.JAViewer;
import io.github.javiewer.R;
import io.github.javiewer.activity.MovieListActivity;
import io.github.javiewer.adapter.item.Actress;
Expand Down Expand Up @@ -67,7 +67,7 @@ public void onClick(View v) {
});


ImageLoader.getInstance().displayImage(actress.getImageUrl(), holder.mImage, Javiewer.DISPLAY_IMAGE_OPTIONS);
ImageLoader.getInstance().displayImage(actress.getImageUrl(), holder.mImage, JAViewer.DISPLAY_IMAGE_OPTIONS);
}

@Override
Expand Down
Loading

0 comments on commit 0c99afe

Please sign in to comment.