Skip to content

Commit

Permalink
various list item fixes, click on icon to view user profile, refresh …
Browse files Browse the repository at this point in the history
…button in actionbar
  • Loading branch information
nitindhar7 committed Apr 14, 2013
1 parent ed2e2c9 commit 2d18047
Show file tree
Hide file tree
Showing 11 changed files with 87 additions and 94 deletions.
4 changes: 2 additions & 2 deletions AndroidManifest.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.nitindhar.kampr"
android:versionCode="13"
android:versionName="3.0.3" >
android:versionCode="14"
android:versionName="3.1.0" >

<uses-sdk
android:maxSdkVersion="16"
Expand Down
60 changes: 30 additions & 30 deletions gen/com/nitindhar/kampr/R.java
Expand Up @@ -64,36 +64,38 @@ public static final class color {
public static final int white=0x7f040001;
}
public static final class drawable {
public static final int actionbar_refresh=0x7f020000;
public static final int actionbar_settings=0x7f020001;
public static final int eula_dialog_box_bg=0x7f020002;
public static final int forrst_default_25=0x7f020003;
public static final int ic_action_kampr=0x7f020004;
public static final int ic_launcher_kampr=0x7f020005;
public static final int ic_post_comments=0x7f020006;
public static final int ic_post_likes=0x7f020007;
public static final int ic_post_views=0x7f020008;
public static final int icon=0x7f020009;
public static final int login_button_pressed=0x7f02000a;
public static final int login_logo=0x7f02000b;
public static final int notification_icon_bg=0x7f02000c;
public static final int post_content_bg=0x7f02000d;
public static final int post_counts_bg=0x7f02000e;
public static final int post_item_bg=0x7f02000f;
public static final int post_item_description=0x7f020010;
public static final int post_item_states=0x7f020011;
public static final int post_item_username=0x7f020012;
public static final int post_item_username_states=0x7f020013;
public static final int post_link_bg=0x7f020014;
public static final int post_view_comments_states=0x7f020015;
public static final int snap_image_bg=0x7f020016;
public static final int user_bio_bg=0x7f020017;
public static final int user_icon_bg=0x7f020018;
public static final int actionbar=0x7f020000;
public static final int actionbar_refresh=0x7f020001;
public static final int actionbar_settings=0x7f020002;
public static final int eula_dialog_box_bg=0x7f020003;
public static final int forrst_default_25=0x7f020004;
public static final int ic_action_kampr=0x7f020005;
public static final int ic_launcher_kampr=0x7f020006;
public static final int ic_post_comments=0x7f020007;
public static final int ic_post_likes=0x7f020008;
public static final int ic_post_views=0x7f020009;
public static final int icon=0x7f02000a;
public static final int login_button_pressed=0x7f02000b;
public static final int login_logo=0x7f02000c;
public static final int notification_icon_bg=0x7f02000d;
public static final int post_content_bg=0x7f02000e;
public static final int post_counts_bg=0x7f02000f;
public static final int post_item_bg=0x7f020010;
public static final int post_item_description=0x7f020011;
public static final int post_item_states=0x7f020012;
public static final int post_item_username=0x7f020013;
public static final int post_item_username_states=0x7f020014;
public static final int post_link_bg=0x7f020015;
public static final int post_view_comments_states=0x7f020016;
public static final int snap_image_bg=0x7f020017;
public static final int user_bio_bg=0x7f020018;
public static final int user_icon_bg=0x7f020019;
}
public static final class id {
public static final int RelativeLayout1=0x7f090038;
public static final int actionbar=0x7f090009;
public static final int actionbar_settings=0x7f09005c;
public static final int actionbar_refresh=0x7f09005c;
public static final int actionbar_settings=0x7f09005d;
public static final int comment_header_arrow=0x7f09000a;
public static final int comment_header_title=0x7f09000d;
public static final int comment_item=0x7f090000;
Expand Down Expand Up @@ -149,7 +151,6 @@ public static final class id {
public static final int post_views=0x7f090018;
public static final int post_views_count=0x7f090019;
public static final int settings_menu_logout=0x7f09005e;
public static final int settings_menu_refresh=0x7f09005d;
public static final int sign_up_link=0x7f090028;
public static final int user_bio=0x7f090053;
public static final int user_comment_count_label=0x7f09004a;
Expand Down Expand Up @@ -207,9 +208,8 @@ public static final class layout {
public static final int user_post_item=0x7f03000b;
}
public static final class menu {
public static final int actionbar_post_menu=0x7f080000;
public static final int actionbar_posts_menu=0x7f080001;
public static final int actionbar_settings_menu=0x7f080002;
public static final int actionbar=0x7f080000;
public static final int actionbar_setting_items=0x7f080001;
}
public static final class string {
public static final int app_name=0x7f070000;
Expand Down
9 changes: 9 additions & 0 deletions res/drawable/actionbar.xml
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

<gradient
android:angle="270"
android:endColor="@color/kampr_dark_green"
android:startColor="@color/kampr_green" />

</shape>
5 changes: 5 additions & 0 deletions res/menu/actionbar_post_menu.xml → res/menu/actionbar.xml
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
android:id="@+id/actionbar_refresh"
android:icon="@drawable/actionbar_refresh"
android:showAsAction="always"
android:title="Refresh"/>
<item
android:id="@+id/actionbar_settings"
android:icon="@drawable/actionbar_settings"
Expand Down
10 changes: 0 additions & 10 deletions res/menu/actionbar_posts_menu.xml

This file was deleted.

@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
android:id="@+id/settings_menu_refresh"
android:showAsAction="always"
android:title="Refresh"/>
<item
android:id="@+id/settings_menu_logout"
android:showAsAction="always"
Expand Down
41 changes: 17 additions & 24 deletions src/com/nitindhar/kampr/activity/PostsActivity.java
Expand Up @@ -10,20 +10,15 @@
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.PopupMenu;
import android.widget.PopupMenu.OnMenuItemClickListener;

import com.nitindhar.kampr.R;
import com.nitindhar.kampr.async.LogoutTask;
import com.nitindhar.kampr.async.PostsTask;
import com.nitindhar.kampr.models.PostDecorator;
import com.nitindhar.kampr.util.ImageUtils;

public class PostsActivity extends ListActivity implements OnMenuItemClickListener, OnItemClickListener {
public class PostsActivity extends ListActivity implements OnMenuItemClickListener {

private static final ExecutorService executor = Executors.newSingleThreadExecutor();

Expand All @@ -37,7 +32,16 @@ public void onCreate(Bundle savedInstanceState) {

ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setIcon(this.getResources().getDrawable(R.drawable.ic_action_kampr));
actionBar.setLogo(this.getResources().getDrawable(R.drawable.ic_action_kampr));
actionBar.setBackgroundDrawable(this.getResources().getDrawable(R.drawable.actionbar));
actionBar.setHomeButtonEnabled(true);

// //
//
// ProgressBar spinner =
//
// MenuItem actionbarRefresh = (MenuItem) findViewById(R.id.actionbar_refresh);
// actionbarRefresh.s

setContentView(R.layout.posts);

Expand All @@ -46,8 +50,6 @@ public void onCreate(Bundle savedInstanceState) {
posts.setVerticalFadingEdgeEnabled(false);
posts.setDivider(this.getResources().getDrawable(R.color.post_item_divider));
posts.setDividerHeight(1);
posts.setOnItemClickListener(this);
registerForContextMenu(posts);

postsTask = new PostsTask(this, posts);
postsTask.execute("all");
Expand All @@ -61,7 +63,7 @@ public void onBackPressed() {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.actionbar_posts_menu, menu);
inflater.inflate(R.menu.actionbar, menu);
return true;
}

Expand All @@ -73,7 +75,11 @@ public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {
case R.id.actionbar_settings:
inflater.inflate(R.menu.actionbar_settings_menu, popup.getMenu());
inflater.inflate(R.menu.actionbar_setting_items, popup.getMenu());
break;
case R.id.actionbar_refresh:
postsTask = new PostsTask(this, posts);
postsTask.execute("all");
break;
default:
return super.onOptionsItemSelected(item);
Expand All @@ -93,22 +99,9 @@ public boolean onMenuItemClick(MenuItem item) {
Intent kampr = new Intent(PostsActivity.this, KamprActivity.class);
startActivity(kampr);
return true;
case R.id.settings_menu_refresh:
postsTask = new PostsTask(this, posts);
postsTask.execute("all");
return true;
default:
return false;
}
}

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent postIntent = new Intent(getApplicationContext(), UserActivity.class);
PostDecorator pd = postsTask.getAdapter().getViewObject(position);
postIntent.putExtra("user", pd.getPost().getUser());
postIntent.putExtra("user_icon", ImageUtils.getByteArrayFromBitmap(pd.getUserIcon()));
startActivity(postIntent);
}

}
4 changes: 3 additions & 1 deletion src/com/nitindhar/kampr/activity/UserActivity.java
Expand Up @@ -39,7 +39,9 @@ public void onCreate(Bundle savedInstanceState) {

ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setIcon(this.getResources().getDrawable(R.drawable.ic_action_kampr));
actionBar.setLogo(this.getResources().getDrawable(R.drawable.ic_action_kampr));
actionBar.setBackgroundDrawable(this.getResources().getDrawable(R.drawable.actionbar));
actionBar.setHomeButtonEnabled(true);

user = (User) getIntent().getSerializableExtra("user");

Expand Down
3 changes: 1 addition & 2 deletions src/com/nitindhar/kampr/adapters/CommentsAdapter.java
Expand Up @@ -13,7 +13,6 @@
import com.nitindhar.forrst.model.Comment;
import com.nitindhar.kampr.R;
import com.nitindhar.kampr.models.CommentDecorator;
import com.nitindhar.kampr.util.TextUtils;
import com.nitindhar.kampr.util.TimeUtils;

public class CommentsAdapter extends AbstractListAdapter<CommentDecorator> {
Expand Down Expand Up @@ -49,7 +48,7 @@ public View getView(int position, View convertView, ViewGroup parent) {

TextView commentTitle = (TextView) getViewHandle(convertView,
R.id.comment_item_content);
commentTitle.setText(TextUtils.convertHtmlToText(comment.getBody()));
commentTitle.setText(comment.getBody());

convertView.setId(comment.getId());

Expand Down
22 changes: 20 additions & 2 deletions src/com/nitindhar/kampr/adapters/PostsAdapter.java
Expand Up @@ -3,13 +3,17 @@
import java.util.List;

import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.nitindhar.kampr.R;
import com.nitindhar.kampr.activity.UserActivity;
import com.nitindhar.kampr.models.PostDecorator;
import com.nitindhar.kampr.util.ImageUtils;
import com.nitindhar.kampr.util.TimeUtils;

public class PostsAdapter<T> extends AbstractListAdapter<T> {
Expand All @@ -19,18 +23,32 @@ public PostsAdapter(Context context, List<T> posts) {
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
public View getView(final int position, View convertView, ViewGroup parent) {
convertView = getConvertView(convertView, R.layout.post_item);

PostDecorator pd = (PostDecorator) objects.get(position);

OnClickListener onUsernameClickListener = new OnClickListener() {

@Override
public void onClick(View v) {
Intent postIntent = new Intent(context, UserActivity.class);
PostDecorator pd = getViewObject(position);
postIntent.putExtra("user", pd.getPost().getUser());
postIntent.putExtra("user_icon", ImageUtils.getByteArrayFromBitmap(pd.getUserIcon()));
context.startActivity(postIntent);
}
};

ImageView postUserIcon = (ImageView) getViewHandle(convertView,
R.id.user_icon_thumbnail);
postUserIcon.setImageBitmap(pd.getUserIcon());
postUserIcon.setOnClickListener(onUsernameClickListener);

TextView postUsername = (TextView) getViewHandle(convertView,
R.id.post_item_username);
postUsername.setText(pd.getPost().getUser().getName());
postUsername.setOnClickListener(onUsernameClickListener);

TextView postDate = (TextView) getViewHandle(convertView,
R.id.post_item_date);
Expand All @@ -54,7 +72,7 @@ public View getView(int position, View convertView, ViewGroup parent) {

TextView postDescription = (TextView) getViewHandle(convertView,
R.id.post_item_description);
postDescription.setText(pd.getPost().getDescription());
postDescription.setText(pd.getPost().getDescription().trim());

convertView.setId(pd.getPost().getId());

Expand Down
19 changes: 0 additions & 19 deletions src/com/nitindhar/kampr/util/TextUtils.java
Expand Up @@ -3,29 +3,10 @@
import java.text.NumberFormat;
import java.util.Locale;

import android.text.Html;

public class TextUtils {

private static final NumberFormat usFormat = NumberFormat.getIntegerInstance(Locale.US);

/**
* Synonymous to innerHTML in Javascript
* @param text HTML to extract text from
* @return
*/
public static String convertHtmlToText(String text) {
return Html.fromHtml(text).toString().trim();
}

public static String stripHtmlTag(String text, String htmlTag) {
return text.replaceAll(htmlTag, "");
}

public static String cleanseText(String text) {
return convertHtmlToText(text);
}

public static String numberToUSFormat(int num) {
return usFormat.format(num);
}
Expand Down

0 comments on commit 2d18047

Please sign in to comment.