Projects >> HQTP >>2d3b514cd548fbb118b9598c84419f421ad9d771

Chunk
Conflicting content
public class TimelineActivity extends RoboActivity {

<<<<<<< HEAD:client/src/org/hqtp/android/TimelineActivity.java
    @InjectView(R.id.listPost)
    ListView postListView;
=======
    @InjectView(R.id.listQuestion)
    ListView timelineListView;
>>>>>>> 302dc6ef4b590fb1d1ce4ab38eb357a9d1c7009e:client/src/org/hqtp/android/ListQuestionActivity.java
    @InjectView(R.id.buttonUpdate)
    Button updateButton;
    @Inject
Solution content
public class TimelineActivity extends RoboActivity {

    @InjectView(R.id.listPost)
    ListView timelineListView;
    @InjectView(R.id.buttonUpdate)
    Button updateButton;
    @Inject
File
TimelineActivity.java
Developer's decision
Combination
Kind of conflict
Annotation
Attribute
Chunk
Conflicting content
    HQTPProxy proxy;

    @Inject
<<<<<<< HEAD:client/src/org/hqtp/android/TimelineActivity.java
    public static final String LECTURE_ID = "LECTURE_ID";
=======
    private TimelineAdapter adapter;
>>>>>>> 302dc6ef4b590fb1d1ce4ab38eb357a9d1c7009e:client/src/org/hqtp/android/ListQuestionActivity.java

    private int lectureId;
    private PostAdapter adapter;
Solution content
    @Inject
    HQTPProxy proxy;

    public static final String LECTURE_ID = "LECTURE_ID";

    private int lectureId;
File
TimelineActivity.java
Developer's decision
Version 1
Kind of conflict
Attribute
Chunk
Conflicting content
        super.onCreate(savedInstanceState);
        setContentView(R.layout.timeline);

<<<<<<< HEAD:client/src/org/hqtp/android/TimelineActivity.java
        lectureId = getIntent().getIntExtra(LECTURE_ID, -1);
        assert lectureId != -1;

        adapter = new PostAdapter(this, R.layout.post_item);
        postListView.setAdapter(adapter);

        // リストの要素をクリックされたときの挙動
        postListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
=======
        adapter = new TimelineAdapter(this, R.layout.question_item);
        timelineListView.setAdapter(adapter);

        // リストの要素をクリックされたときの挙動
        timelineListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
>>>>>>> 302dc6ef4b590fb1d1ce4ab38eb357a9d1c7009e:client/src/org/hqtp/android/ListQuestionActivity.java
            @Override
            public void onItemClick(AdapterView parent, View view, int position, long id) {
                ListView listView = (ListView) parent;
Solution content
        super.onCreate(savedInstanceState);
        setContentView(R.layout.timeline);

        lectureId = getIntent().getIntExtra(LECTURE_ID, -1);
        assert lectureId != -1;

        adapter = new TimelineAdapter(this, R.layout.post_item);
        timelineListView.setAdapter(adapter);

        // リストの要素をクリックされたときの挙動
        timelineListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView parent, View view, int position, long id) {
                ListView listView = (ListView) parent;
File
TimelineActivity.java
Developer's decision
Manual
Kind of conflict
Assert statement
Attribute
Comment
Method invocation
Chunk
Conflicting content
            public void onItemClick(AdapterView parent, View view, int position, long id) {
                ListView listView = (ListView) parent;
                Post p = (Post) listView.getItemAtPosition(position);
<<<<<<< HEAD:client/src/org/hqtp/android/TimelineActivity.java
                // TODO(draftcode): Should show something.
                showAlert("", p.getBody());
=======
                showAlert("投稿", p.getBody()); //TODO: おそらくは投稿者の名前をタイトルに表示すべき
>>>>>>> 302dc6ef4b590fb1d1ce4ab38eb357a9d1c7009e:client/src/org/hqtp/android/ListQuestionActivity.java
            }
        });
Solution content
            public void onItemClick(AdapterView parent, View view, int position, long id) {
                ListView listView = (ListView) parent;
                Post p = (Post) listView.getItemAtPosition(position);
                // TODO(draftcode): Should show something. おそらくは投稿者の名前をタイトルに表示すべき
                showAlert("投稿", p.getBody());
            }
        });
File
TimelineActivity.java
Developer's decision
Manual
Kind of conflict
Comment
Method invocation
Chunk
Conflicting content
            public void onClick(View v) {

        updateButton.setOnClickListener(new OnClickListener() {
<<<<<<< HEAD:client/src/org/hqtp/android/TimelineActivity.java
                loadPost();
            }
        });

        loadPost();
    }

    private void loadPost() {
        GetPost gq = new GetPost();
        gq.execute();
    }

    private class GetPost extends RoboAsyncTask> {

        @Override
        public List call() throws Exception {
            return proxy.getTimeline(lectureId);
=======
                loadTimeline();
            }
        });

        loadTimeline();
    }

    // 質問をリストに読み込み
    private void loadTimeline() {
        GetTimeline gt = new GetTimeline();//TODO: 講義IDを指定する
        gt.execute();
    }

    private class GetTimeline extends RoboAsyncTask> {

        @Override
        public List call() throws Exception {
            return proxy.getTimeline(1);//TODO: 講義IDを指定する
>>>>>>> 302dc6ef4b590fb1d1ce4ab38eb357a9d1c7009e:client/src/org/hqtp/android/ListQuestionActivity.java
        }

        @Override
Solution content
        updateButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                loadTimeline();
            }
        });

        loadTimeline();
    }

    private void loadTimeline() {
        GetTimeline gt = new GetTimeline();
        gt.execute();
    }

    private class GetTimeline extends RoboAsyncTask> {

        @Override
        public List call() throws Exception {
            return proxy.getTimeline(lectureId);
        }

        @Override
File
TimelineActivity.java
Developer's decision
Manual
Kind of conflict
Annotation
Class signature
Comment
Method declaration
Method invocation
Method signature
Return statement
Chunk
Conflicting content
        protected void onSuccess(List posts) {

            if (posts == null) {
<<<<<<< HEAD:client/src/org/hqtp/android/TimelineActivity.java
                showAlert("GetPost", "投稿がありません。");
=======
                showAlert("GetTimeline", "質問がありません。");
>>>>>>> 302dc6ef4b590fb1d1ce4ab38eb357a9d1c7009e:client/src/org/hqtp/android/ListQuestionActivity.java
            } else {
                adapter.clear();
                // Robolectric dopostes not implement addAll,
Solution content
        protected void onSuccess(List posts) {

            if (posts == null) {
                showAlert("GetTimeline", "投稿がありません。");
            } else {
                adapter.clear();
File
TimelineActivity.java
Developer's decision
Manual
Kind of conflict
Method invocation
Chunk
Conflicting content
        @Override
        protected void onException(Exception e) {
<<<<<<< HEAD:client/src/org/hqtp/android/TimelineActivity.java
            showAlert("GetPost", "サーバーとの通信に失敗しました。");
        }
    }

    private class PostAdapter extends ArrayAdapter {

        private int resourceId;

        public PostAdapter(Context context, int resource) {
=======
            e.printStackTrace();
            showAlert("GetTimeline", "サーバーとの通信に失敗しました。");
        }
    }

    private class TimelineAdapter extends ArrayAdapter {

        private int resourceId;

        public TimelineAdapter(Context context, int resource) {
>>>>>>> 302dc6ef4b590fb1d1ce4ab38eb357a9d1c7009e:client/src/org/hqtp/android/ListQuestionActivity.java
            super(context, resource);
            resourceId = resource;
        }
Solution content
        @Override
        protected void onException(Exception e) {
            e.printStackTrace();
            showAlert("GetTimeline", "サーバーとの通信に失敗しました。");
        }
    }

    private class TimelineAdapter extends ArrayAdapter {

        private int resourceId;

        public TimelineAdapter(Context context, int resource) {
            super(context, resource);
            resourceId = resource;
        }
File
TimelineActivity.java
Developer's decision
Version 2
Kind of conflict
Attribute
Class signature
Method invocation
Method signature
Chunk
Conflicting content
            }

            Post post = (Post) getItem(position);
<<<<<<< HEAD:client/src/org/hqtp/android/TimelineActivity.java
            TextView bodyView = (TextView) convertView.findViewById(R.id.postContent);

=======
            //TODO: post-item.xmlに合わせる

            TextView titleView = (TextView) convertView.findViewById(R.id.question_title);
            TextView bodyView = (TextView) convertView.findViewById(R.id.question_body);

            titleView.setText("title");//TODO: 件名のかわりに何か表示
>>>>>>> 302dc6ef4b590fb1d1ce4ab38eb357a9d1c7009e:client/src/org/hqtp/android/ListQuestionActivity.java
            // 文字数が多いと全文をそのまま表示するとよくないかも
            bodyView.setText(post.getBody());
Solution content
            }

            Post post = (Post) getItem(position);
            TextView bodyView = (TextView) convertView.findViewById(R.id.postContent);

            // 文字数が多いと全文をそのまま表示するとよくないかも
            bodyView.setText(post.getBody());
File
TimelineActivity.java
Developer's decision
Version 1
Kind of conflict
Cast expression
Comment
Method invocation
Variable