FreeRDP
Loading...
Searching...
No Matches
com.freerdp.freerdpcore.presentation.HomeActivity Class Reference
Inheritance diagram for com.freerdp.freerdpcore.presentation.HomeActivity:
Collaboration diagram for com.freerdp.freerdpcore.presentation.HomeActivity:

Public Member Functions

void onCreate (Bundle savedInstanceState)
 
boolean onCreateOptionsMenu (Menu menu)
 
boolean onOptionsItemSelected (MenuItem item)
 

Protected Member Functions

void onResume ()
 
void onSaveInstanceState (Bundle outState)
 

Detailed Description

Definition at line 46 of file HomeActivity.java.

Member Function Documentation

◆ onCreate()

void com.freerdp.freerdpcore.presentation.HomeActivity.onCreate ( Bundle  savedInstanceState)
inline

Definition at line 59 of file HomeActivity.java.

60 {
61 super.onCreate(savedInstanceState);
62 binding = HomeBinding.inflate(getLayoutInflater());
63 setContentView(binding.getRoot());
64
65 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU &&
66 checkSelfPermission(Manifest.permission.POST_NOTIFICATIONS) !=
67 PackageManager.PERMISSION_GRANTED)
68 {
69 requestPermissions(new String[] { Manifest.permission.POST_NOTIFICATIONS }, 0);
70 }
71
72 externalDisplayManager = new ExternalDisplayManager(this);
73
74 long heapSize = Runtime.getRuntime().maxMemory();
75 Log.i(TAG, "Max HeapSize: " + heapSize);
76 Log.i(TAG, "App data folder: " + getFilesDir().toString());
77
78 // check for passed .rdp file and open it in a new bookmark
79 Intent caller = getIntent();
80 Uri callParameter = caller.getData();
81
82 if (Intent.ACTION_VIEW.equals(caller.getAction()) && callParameter != null)
83 {
84 String refStr = ConnectionReference.getFileReference(callParameter.toString());
85 Bundle bundle = new Bundle();
86 bundle.putString(BookmarkActivity.PARAM_CONNECTION_REFERENCE, refStr);
87
88 Intent bookmarkIntent =
89 new Intent(this.getApplicationContext(), BookmarkActivity.class);
90 bookmarkIntent.putExtras(bundle);
91 startActivity(bookmarkIntent);
92 }
93
94 viewModel = new ViewModelProvider(this).get(HomeViewModel.class);
95
96 bookmarkListAdapter = new BookmarkListAdapter();
97 bookmarkListAdapter.setCallbacks(new BookmarkListAdapter.Callbacks() {
98 @Override public void onItemClick(String refStr)
99 {
100 if (ConnectionReference.isBookmarkReference(refStr) ||
101 ConnectionReference.isHostnameReference(refStr))
102 {
103 externalDisplayManager.launchSessionWithDisplayPicker(refStr);
104
105 if (searchView != null)
106 {
107 searchView.setQuery("", false);
108 searchView.setIconified(true);
109 }
110 if (searchMenuItem != null)
111 {
112 searchMenuItem.collapseActionView();
113 }
114 viewModel.loadBookmarks("");
115 }
116 }
117
118 @Override public void onDelete(long id)
119 {
120 viewModel.deleteBookmark(id);
121 }
122
123 @Override public void onExport(BookmarkBase bookmark)
124 {
125 shareRdpFile(bookmark);
126 }
127 });
128
129 binding.recyclerViewBookmarks.setLayoutManager(new LinearLayoutManager(this));
130 binding.recyclerViewBookmarks.setAdapter(bookmarkListAdapter);
131
132 viewModel.getBookmarks().observe(this,
133 bookmarks -> bookmarkListAdapter.setItems(bookmarks));
134
135 // restore search query after process death
136 if (savedInstanceState != null)
137 {
138 String query = savedInstanceState.getString(PARAM_SEARCH_QUERY);
139 if (query != null && !query.isEmpty() && viewModel.getCurrentQuery().isEmpty())
140 {
141 viewModel.loadBookmarks(query);
142 }
143 }
144
145 getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
146 @Override public void handleOnBackPressed()
147 {
148 if (ApplicationSettingsActivity.getAskOnExit(HomeActivity.this))
149 {
150 new AlertDialog.Builder(HomeActivity.this)
151 .setTitle(R.string.dlg_title_exit)
152 .setMessage(R.string.dlg_msg_exit)
153 .setPositiveButton(R.string.yes, (dialog, which) -> finish())
154 .setNegativeButton(R.string.no, (dialog, which) -> dialog.dismiss())
155 .show();
156 }
157 else
158 {
159 finish();
160 }
161 }
162 });
163 }

◆ onCreateOptionsMenu()

boolean com.freerdp.freerdpcore.presentation.HomeActivity.onCreateOptionsMenu ( Menu  menu)
inline

Definition at line 178 of file HomeActivity.java.

179 {
180 MenuInflater inflater = getMenuInflater();
181 inflater.inflate(R.menu.home_menu, menu);
182 setupSearchView(menu);
183 return true;
184 }

◆ onOptionsItemSelected()

boolean com.freerdp.freerdpcore.presentation.HomeActivity.onOptionsItemSelected ( MenuItem  item)
inline

Definition at line 186 of file HomeActivity.java.

187 {
188 // refer to http://tools.android.com/tips/non-constant-fields why we can't use switch/case
189 // here ..
190 int itemId = item.getItemId();
191 if (itemId == R.id.newBookmark)
192 {
193 Intent bookmarkIntent = new Intent(this, BookmarkActivity.class);
194 startActivity(bookmarkIntent);
195 }
196 else if (itemId == R.id.appSettings)
197 {
198 Intent settingsIntent = new Intent(this, ApplicationSettingsActivity.class);
199 startActivity(settingsIntent);
200 }
201 else if (itemId == R.id.help)
202 {
203 Intent helpIntent = new Intent(this, HelpActivity.class);
204 startActivity(helpIntent);
205 }
206 else if (itemId == R.id.about)
207 {
208 Intent aboutIntent = new Intent(this, AboutActivity.class);
209 startActivity(aboutIntent);
210 }
211
212 return true;
213 }

◆ onResume()

void com.freerdp.freerdpcore.presentation.HomeActivity.onResume ( )
inlineprotected

Definition at line 165 of file HomeActivity.java.

166 {
167 super.onResume();
168 Log.v(TAG, "HomeActivity.onResume");
169 viewModel.loadBookmarks(viewModel.getCurrentQuery());
170 }

◆ onSaveInstanceState()

void com.freerdp.freerdpcore.presentation.HomeActivity.onSaveInstanceState ( Bundle  outState)
inlineprotected

Definition at line 172 of file HomeActivity.java.

173 {
174 super.onSaveInstanceState(outState);
175 outState.putString(PARAM_SEARCH_QUERY, viewModel.getCurrentQuery());
176 }

The documentation for this class was generated from the following file: