package com.android.iliConnect;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
import com.android.iliConnect.Exceptions.JoinCourseException;
import com.android.iliConnect.Exceptions.NetworkException;
import com.android.iliConnect.dataproviders.LocalCourseProvider;
import com.android.iliConnect.message.IliOnClickListener;
import com.android.iliConnect.models.Item;
public class SchreibtischDetailActivity extends FragmentActivity implements IliOnClickListener {
private Object listener = this;
private String selectedCourse = "";
private String selectedCourseName = "";
private String itemType = "";
public static SchreibtischDetailActivity instance;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.schreibtisch_detail_layout);
Intent intent = getIntent();
MainActivity.currentActivity = this;
instance = this;
final String kurs = intent.getStringExtra("CourseName");
((TextView) (findViewById(R.id.courseName1))).setText(kurs);
Item item = null;
final int position = intent.getIntExtra("position", -1);
if (position > -1) {
item = MainActivity.instance.localDataProvider.desktopItems.DesktopItem.get(position);
}
if(intent.getSerializableExtra("Item") != null) {
item = (Item) intent.getSerializableExtra("Item");
}
selectedCourse = item.ref_id;
selectedCourseName = item.title;
itemType = item.type;
final ListView lv = (ListView) findViewById(R.id.desktop_content);
if(item.Item!=null && item.getItems().size() > 0) {
ListAdapter adapter = new DesktopDetailArrayAdapter(getApplicationContext(), R.id.desktop_content, item.getItems());
lv.setAdapter(adapter);
((TextView) (findViewById(R.id.courseDesc1))).setVisibility(View.GONE);
}
else {
// falls Kurs keine Inhalte hat, Meldung anzeigen.
((TextView) (findViewById(R.id.courseDesc1))).setText("Dem Kurs wurden noch keine Inhalte hinzugefügt.");
lv.setVisibility(View.GONE);
}
}
public boolean onCreateOptionsMenu(Menu menu) {
if(itemType.equalsIgnoreCase("CRS")) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.kurs_menu, menu);
}
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
// respond to menu item selection
switch (item.getItemId()) {
case R.id.abmeldung:
MessageBuilder.course_singnout(this, selectedCourse, selectedCourseName, (IliOnClickListener) listener);
return true;
}
return true;
}
public void onClickCoursePassword(String refID, String password) {
// TODO Auto-generated method stub
}
public void onClickJoinCourse(String refID, String courseName) {
// TODO Auto-generated method stub
}
public void onClickLeftCourse(String refID, String courseName) {
// TODO Auto-generated method stub
LocalCourseProvider courseProv = new LocalCourseProvider();
try {
try {
courseProv.leaveCourse(selectedCourse);
} catch (NetworkException e) {
MessageBuilder.exception_message(MainTabView.instance, e.getMessage());
}
// neuer Sync und View update wird noch leaveCourse gemacht
} catch (JoinCourseException e) {
MessageBuilder.exception_message(MainTabView.instance, e.getMessage());
e.printStackTrace();
}
this.finish();
}
public void onClickMessageBox() {
// TODO Auto-generated method stub
}
@Override
protected void onResume() {
super.onResume();
MainActivity.currentActivity = this;
}
}