Skip to content

Commit de44e64

Browse files
committed
add settings
1 parent 55bcb84 commit de44e64

File tree

9 files changed

+139
-6
lines changed

9 files changed

+139
-6
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ android {
88
minSdkVersion 14
99
targetSdkVersion 19
1010
versionCode 1
11-
versionName "1.0"
11+
versionName "1.0.0 preview"
1212
}
1313
buildTypes {
1414
release {

app/src/main/AndroidManifest.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,19 @@
99
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
1010

1111
<application
12-
android:debuggable="true"
1312
android:allowBackup="true"
1413
android:icon="@drawable/ic_launcher"
1514
android:label="@string/app_name"
1615
android:name=".Application"
1716
android:theme="@style/AppTheme" >
1817

18+
<meta-data
19+
android:name="UMENG_APPKEY"
20+
android:value="530cc7d456240bfac5056280" />
21+
<meta-data
22+
android:name="UMENG_CHANNEL"
23+
android:value="apk" />
24+
1925
<service
2026
android:name="com.umeng.common.net.DownloadingService"
2127
android:process=":DownloadingService" >

app/src/main/java/com/yugy/v2ex/daily/activity/MainActivity.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@
1414
import android.support.v4.widget.DrawerLayout;
1515
import android.widget.TextView;
1616

17+
import com.umeng.update.UmengUpdateAgent;
1718
import com.yugy.v2ex.daily.fragment.AllNodeFragment;
1819
import com.yugy.v2ex.daily.fragment.CollectionFragment;
1920
import com.yugy.v2ex.daily.fragment.NavigationDrawerFragment;
2021
import com.yugy.v2ex.daily.R;
2122
import com.yugy.v2ex.daily.fragment.NewestNodeFragment;
23+
import com.yugy.v2ex.daily.fragment.SettingFragment;
2224

2325
public class MainActivity extends BaseActivity
2426
implements NavigationDrawerFragment.NavigationDrawerCallbacks {
@@ -37,6 +39,7 @@ public class MainActivity extends BaseActivity
3739
protected void onCreate(Bundle savedInstanceState) {
3840
super.onCreate(savedInstanceState);
3941
setContentView(R.layout.activity_main);
42+
UmengUpdateAgent.update(this);
4043

4144
mNavigationDrawerFragment = (NavigationDrawerFragment)
4245
getFragmentManager().findFragmentById(R.id.navigation_drawer);
@@ -63,11 +66,16 @@ public void onNavigationDrawerItemSelected(int position) {
6366
.replace(R.id.container, new AllNodeFragment())
6467
.commit();
6568
break;
66-
default:
69+
case 2:
6770
fragmentManager.beginTransaction()
6871
.replace(R.id.container, new CollectionFragment())
6972
.commit();
7073
break;
74+
case 3:
75+
fragmentManager.beginTransaction()
76+
.replace(R.id.container, new SettingFragment())
77+
.commit();
78+
break;
7179
}
7280
}
7381

@@ -82,6 +90,9 @@ public void onSectionAttached(int number) {
8290
case 3:
8391
mTitle = getString(R.string.title_section3);
8492
break;
93+
case 4:
94+
mTitle = getString(R.string.title_section4);
95+
break;
8596
}
8697
}
8798

app/src/main/java/com/yugy/v2ex/daily/fragment/NavigationDrawerFragment.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ public void onItemClick(AdapterView<?> parent, View view, int position, long id)
107107
getString(R.string.title_section1),
108108
getString(R.string.title_section2),
109109
getString(R.string.title_section3),
110+
getString(R.string.title_section4),
110111
}));
111112
mDrawerListView.setItemChecked(mCurrentSelectedPosition, true);
112113
return mDrawerListView;
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
package com.yugy.v2ex.daily.fragment;
2+
3+
import android.app.Activity;
4+
import android.content.Intent;
5+
import android.net.Uri;
6+
import android.os.Bundle;
7+
import android.preference.Preference;
8+
import android.preference.PreferenceFragment;
9+
import android.view.LayoutInflater;
10+
import android.view.View;
11+
import android.view.ViewGroup;
12+
13+
import com.umeng.update.UmengUpdateAgent;
14+
import com.umeng.update.UmengUpdateListener;
15+
import com.umeng.update.UpdateResponse;
16+
import com.umeng.update.UpdateStatus;
17+
import com.yugy.v2ex.daily.R;
18+
import com.yugy.v2ex.daily.activity.MainActivity;
19+
import com.yugy.v2ex.daily.network.RequestManager;
20+
import com.yugy.v2ex.daily.widget.AppMsg;
21+
22+
/**
23+
* Created by yugy on 14-2-26.
24+
*/
25+
public class SettingFragment extends PreferenceFragment implements Preference.OnPreferenceClickListener{
26+
27+
@Override
28+
public void onCreate(Bundle savedInstanceState) {
29+
super.onCreate(savedInstanceState);
30+
addPreferencesFromResource(R.xml.settings);
31+
}
32+
33+
private static final String PREF_CONTACT = "pref_contact";
34+
private static final String PREF_UPDATE = "pref_check_update";
35+
36+
@Override
37+
public void onActivityCreated(Bundle savedInstanceState) {
38+
super.onActivityCreated(savedInstanceState);
39+
getPreferenceManager().findPreference(PREF_CONTACT).setOnPreferenceClickListener(this);
40+
getPreferenceManager().findPreference(PREF_UPDATE).setOnPreferenceClickListener(this);
41+
}
42+
43+
@Override
44+
public void onAttach(Activity activity) {
45+
super.onAttach(activity);
46+
((MainActivity) activity).onSectionAttached(4);
47+
}
48+
49+
@Override
50+
public void onDestroy() {
51+
RequestManager.getInstance().cancelRequests(getActivity());
52+
super.onDestroy();
53+
}
54+
55+
@Override
56+
public boolean onPreferenceClick(Preference preference) {
57+
if(preference.getKey().equals(PREF_CONTACT)){
58+
Intent intent = new Intent(Intent.ACTION_SENDTO);
59+
intent.setData(Uri.parse("mailto:me@yanghui.name"));
60+
if(intent.resolveActivity(getActivity().getPackageManager()) != null)
61+
startActivity(intent);
62+
else{
63+
AppMsg.makeText(getActivity(), "没有找到邮件程序", AppMsg.STYLE_CONFIRM).show();
64+
}
65+
return true;
66+
}
67+
if(preference.getKey().equals(PREF_UPDATE)){
68+
UmengUpdateAgent.forceUpdate(getActivity());
69+
UmengUpdateAgent.setUpdateListener(new UmengUpdateListener() {
70+
@Override
71+
public void onUpdateReturned(int i, UpdateResponse updateResponse) {
72+
if(getActivity() != null){
73+
switch (i){
74+
case UpdateStatus.No:
75+
AppMsg.makeText(getActivity(), "您现在使用的就是最新版本", AppMsg.STYLE_INFO).show();
76+
break;
77+
case UpdateStatus.Timeout:
78+
AppMsg.makeText(getActivity(), "网络超时", AppMsg.STYLE_CONFIRM).show();
79+
break;
80+
}
81+
}
82+
UmengUpdateAgent.setUpdateListener(null);
83+
}
84+
});
85+
return true;
86+
}
87+
return false;
88+
}
89+
}

app/src/main/java/com/yugy/v2ex/daily/widget/TopicView.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public void parse(TopicModel model){
7070
mName.setText(model.member.username);
7171
mTime.setReferenceTime(model.created * 1000);
7272
mReplies.setText(model.replies + " 个回复");
73-
mNode.setText(model.node.titleAlternative);
73+
mNode.setText(model.node.name);
7474

7575
mMember = model.member;
7676
mNodeId = model.node.id;

app/src/main/res/values-zh/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
<string name="title_section1">最新主题</string>
66
<string name="title_section2">所有节点</string>
77
<string name="title_section3">节点收藏</string>
8+
<string name="title_section4">设置</string>
89
<string name="navigation_drawer_open">打开抽屉</string>
910
<string name="navigation_drawer_close">关闭抽屉</string>
10-
<string name="action_settings">设置</string>
1111
<string name="just_now">刚刚</string>
1212
<string name="action_search">搜索</string>
1313

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
<string name="title_section1">Newest</string>
66
<string name="title_section2">All Node</string>
77
<string name="title_section3">Collections</string>
8+
<string name="title_section4">Settings</string>
89
<string name="navigation_drawer_open">Open navigation drawer</string>
910
<string name="navigation_drawer_close">Close navigation drawer</string>
10-
<string name="action_settings">Settings</string>
1111
<string name="just_now">Just now</string>
1212
<string name="action_search">Search</string>
1313

app/src/main/res/xml/settings.xml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
3+
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
4+
5+
<PreferenceCategory
6+
android:title="更多"
7+
>
8+
9+
<Preference
10+
android:title="关于V2EX Daily"
11+
android:summary="V2EX Daily 是一个V2EX的第三方客户端,调用了V2EX的api接口,集成了主题浏览,节点收藏/浏览,用户浏览等功能"
12+
/>
13+
14+
<Preference
15+
android:key="pref_contact"
16+
android:title="联系作者"
17+
/>
18+
19+
<Preference
20+
android:key="pref_check_update"
21+
android:title="检查更新"
22+
/>
23+
24+
</PreferenceCategory>
25+
26+
</PreferenceScreen>

0 commit comments

Comments
 (0)