Grundaufbau der App
[DHBWCampusApp.git] / app / src / main / java / de / dhbwloe / campusapp / fragments / PopupFragment.java
1 package de.dhbwloe.campusapp.fragments;
2
3 import android.content.DialogInterface;
4 import android.os.Bundle;
5 import android.support.v4.app.DialogFragment;
6 import android.support.v4.app.FragmentActivity;
7 import android.support.v4.app.FragmentTransaction;
8 import android.view.Gravity;
9 import android.view.LayoutInflater;
10 import android.view.View;
11 import android.view.ViewGroup;
12 import android.widget.LinearLayout;
13 import android.widget.PopupWindow;
14
15 import de.dhbwloe.campusapp.CampusAppContext;
16 import de.dhbwloe.campusapp.CampusAppFragment;
17 import de.dhbwloe.campusapp.R;
18 import de.dhbwloe.campusapp.search.SearchIndices;
19 import de.dhbwloe.campusapp.search.SearchTarget;
20
21 /**
22  * Created by pk910 on 21.01.2016.
23  */
24 public class PopupFragment extends DialogFragment {
25     private CampusAppContext AppContext;
26     private CampusAppFragment oCurrentFragment;
27
28     @Override
29     public void onCreate(Bundle savedInstanceState) {
30         AppContext = CampusAppContext.getInstance();
31         super.onCreate(savedInstanceState);
32     }
33
34     @Override
35     public View onCreateView(LayoutInflater inflater, ViewGroup container,
36                              Bundle savedInstanceState) {
37         View view = inflater.inflate(R.layout.content_popup, container, false);
38         getDialog().setOnCancelListener(new DialogInterface.OnCancelListener() {
39             @Override
40             public void onCancel(DialogInterface dialog) {
41                 AppContext.getNavigationManager().closeDialog();
42             }
43         });
44
45         Bundle args = getArguments();
46         if(args != null) {
47             String targetPage = args.getString("target");
48             SearchTarget target = new SearchTarget(targetPage);
49             String targetPageName;
50             if(target.isInAppTarget())
51                 targetPageName = target.getTargetUrl();
52             else {
53                 targetPageName = "WebBrowser";
54                 args.putString("url", target.getTargetUrl());
55             }
56             CampusAppFragment fragment = AppContext.getNavigationManager().getPageFragment(targetPageName);
57             fragment.setArguments(args);
58
59             FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
60             transaction.add(R.id.content_container, fragment);
61             oCurrentFragment = fragment;
62             transaction.commit();
63         }
64
65         return view;
66     }
67
68     public void destroyView() {
69         if(oCurrentFragment != null) {
70             FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
71             transaction.remove(oCurrentFragment);
72             transaction.commit();
73         }
74     }
75
76     public CampusAppFragment getCurrentFragment() {
77         return oCurrentFragment;
78     }
79
80 }