package com.jbirdvegas.mgerrit;
/*
* Copyright (C) 2013 Android Open Kang Project (AOKP)
* Author: Jon Stanford (JBirdVegas), 2013
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import android.app.SearchManager;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.NavUtils;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import com.jbirdvegas.mgerrit.objects.GooFileObject;
import com.jbirdvegas.mgerrit.search.AgeSearch;
import com.jbirdvegas.mgerrit.search.SearchKeyword;
import com.jbirdvegas.mgerrit.views.GerritSearchView;
import java.util.HashSet;
public class AOKPChangelog extends FragmentActivity implements ChangelogActivity {
private String mQuery = "https://goo.im/json2&path=/devs/aokp/" + Build.DEVICE + "/nightly";
private GerritSearchView mSearchView;
@Override
protected void onCreate(Bundle savedInstanceState) {
this.setTheme(Prefs.getCurrentThemeID(this));
super.onCreate(savedInstanceState);
setContentView(R.layout.aokp_changelog);
// Action bar Up affordance
getActionBar().setDisplayHomeAsUpEnabled(true);
Prefs.setGerritInstanceByName(this, "AOKP");
ChangelogFragment frag;
frag = (ChangelogFragment) getSupportFragmentManager().findFragmentById(R.id.changelog_fragment);
frag.setQuery(mQuery);
// Get the SearchView and set the searchable configuration
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
mSearchView = (GerritSearchView) findViewById(R.id.search);
mSearchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.changelog_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
case R.id.menu_save:
Intent intent = new Intent(this, PrefsActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
return true;
case R.id.menu_search:
// Toggle the visibility of the searchview
mSearchView.toggleVisibility();
}
return super.onOptionsItemSelected(item);
}
public void onBuildSelected(GooFileObject earlier, GooFileObject later) {
HashSet<SearchKeyword> set = new HashSet<>(2);
// if user selects the oldest build; earlier Object will be null
if (earlier != null) {
set.add(new AgeSearch(earlier.getModified(), ">="));
}
set.add(new AgeSearch(later.getModified(), "<="));
mSearchView.injectKeywords(set);
}
}