From 98fc17a53ae3a837073501b0fddfd23f2a4cb039 Mon Sep 17 00:00:00 2001 From: genshen Date: Tue, 19 Sep 2017 08:39:19 +0800 Subject: [PATCH] add account format settting and notification icon adaptation --- app/build.gradle | 4 +- app/src/main/assets/open_source.html | 125 +++++++++++++++--- .../me/gensh/fragment/DashboardFragment.java | 2 +- .../fragment/InnovationCreditFragment.java | 31 +++++ .../me/gensh/fragment/SettingsFragment.java | 4 +- .../gensh/fragment/TodayCourseFragment.java | 2 +- .../main/java/me/gensh/helloustb/Account.java | 2 +- .../main/java/me/gensh/helloustb/Browser.java | 13 +- .../me/gensh/helloustb/ELearningCategory.java | 4 + .../java/me/gensh/helloustb/FileManager.java | 4 +- .../java/me/gensh/helloustb/MainActivity.java | 31 ++--- .../java/me/gensh/helloustb/ShareApp.java | 5 +- .../java/me/gensh/helloustb/Timetable.java | 11 ++ .../main/java/me/gensh/sdcard/SdCardPro.java | 8 +- .../me/gensh/service/CampusNetworkTest.java | 22 ++- .../java/me/gensh/service/DownloadApk.java | 19 ++- app/src/main/java/me/gensh/utils/Const.java | 1 + .../me/gensh/utils/LoginNetworkActivity.java | 15 ++- .../ic_notifications_black_24dp.xml | 9 -- .../res/drawable-v21/ic_sync_black_24dp.xml | 9 -- .../res/drawable/ic_adjust_white_24dp.xml | 9 ++ .../ic_menu_account_box.xml | 0 .../ic_menu_file_download.xml | 0 .../ic_menu_github.xml | 0 .../ic_menu_info.xml | 0 .../ic_menu_manage.xml | 0 .../ic_menu_send.xml | 0 .../ic_menu_share.xml | 0 .../drawable/ic_notifications_black_24dp.xml | 9 -- app/src/main/res/layout/app_bar_main.xml | 19 +-- .../{dialog_enter.xml => dialog_sign_in.xml} | 2 +- .../res/layout/preference_category_widget.xml | 10 +- app/src/main/res/layout/preference_item.xml | 2 +- app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 7252 -> 22465 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 5678 -> 21133 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 8848 -> 23740 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 11943 -> 26235 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 15215 -> 29042 bytes app/src/main/res/values/dimens.xml | 2 +- app/src/main/res/values/drawables.xml | 12 +- app/src/main/res/values/strings.xml | 2 + app/src/main/res/xml/general_preferences.xml | 13 ++ bugs.txt | 1 + 43 files changed, 282 insertions(+), 120 deletions(-) delete mode 100644 app/src/main/res/drawable-v21/ic_notifications_black_24dp.xml delete mode 100644 app/src/main/res/drawable-v21/ic_sync_black_24dp.xml create mode 100644 app/src/main/res/drawable/ic_adjust_white_24dp.xml rename app/src/main/res/{drawable-v21 => drawable}/ic_menu_account_box.xml (100%) rename app/src/main/res/{drawable-v21 => drawable}/ic_menu_file_download.xml (100%) rename app/src/main/res/{drawable-v21 => drawable}/ic_menu_github.xml (100%) rename app/src/main/res/{drawable-v21 => drawable}/ic_menu_info.xml (100%) rename app/src/main/res/{drawable-v21 => drawable}/ic_menu_manage.xml (100%) rename app/src/main/res/{drawable-v21 => drawable}/ic_menu_send.xml (100%) rename app/src/main/res/{drawable-v21 => drawable}/ic_menu_share.xml (100%) delete mode 100644 app/src/main/res/drawable/ic_notifications_black_24dp.xml rename app/src/main/res/layout/{dialog_enter.xml => dialog_sign_in.xml} (97%) diff --git a/app/build.gradle b/app/build.gradle index fde0475..99a87e4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { applicationId "me.gensh.helloustb" minSdkVersion 16 targetSdkVersion 26 - versionCode 108 - versionName "2.1.0-alpha1" + versionCode 110 + versionName "2.1.0-alpha3" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { diff --git a/app/src/main/assets/open_source.html b/app/src/main/assets/open_source.html index 539036f..d841cf6 100644 --- a/app/src/main/assets/open_source.html +++ b/app/src/main/assets/open_source.html @@ -43,6 +43,12 @@ line-height: 1.45; background-color: #f7f7f7 } + + + + + + @@ -62,6 +68,26 @@

PermissionsDispatcher

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. + +
  • +

    butterknife

    +

    + https://github.com/JakeWharton/butterknife +

    +
    +Copyright 2013 Jake Wharton
    +
    +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.
    @@ -101,9 +127,7 @@ 

    Material Dialogs

  • williamchart

    - - https://github.com/diogobernardino/WilliamChart - + https://github.com/diogobernardino/WilliamChart

     License
    @@ -126,9 +150,7 @@ 

    williamchart

  • GoogleProgressBar

    - - https://github.com/jpardogo/GoogleProgressBar - + https://github.com/jpardogo/GoogleProgressBar

     Licence
    @@ -150,9 +172,7 @@ 

    GoogleProgressBar

  • SmartTabLayout

    - - https://github.com/ogaclejapan/SmartTabLayout - + https://github.com/ogaclejapan/SmartTabLayout

     LICENSE
    @@ -176,9 +196,7 @@ 

    SmartTabLayout

  • MaterialRefreshLayout

    - - https://github.com/android-cjj/Android-MaterialRefreshLayout - + https://github.com/android-cjj/Android-MaterialRefreshLayout

     License
    @@ -204,17 +222,65 @@ 

    MaterialRefreshLayout

    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
  • + +
  • +

    SearchView

    +

    + https://github.com/lapism/SearchView +

    +
    +Licence
    +
    +Apache License
    +Version 2.0, January 2004
    +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.
    +        
    +
  • + +
  • +

    flexbox-layout

    +

    + https://github.com/google/flexbox-layout +

    +
    +Licence
    +
    +Apache License
    +Version 2.0, January 2004
    +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.
    +        
    +
  • +
  • CircleImageView

    - - https://github.com/hdodenhof/CircleImageView - + https://github.com/hdodenhof/CircleImageView

     License
     
    -Copyright 2014 - 2016 Henning Dodenhof
    +Copyright 2014 - 2017 Henning Dodenhof
     
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
    @@ -232,9 +298,7 @@ 

    CircleImageView

  • FloatingActionButton

    - - https://github.com/Clans/FloatingActionButton - + https://github.com/Clans/FloatingActionButton

     License
    @@ -247,6 +311,29 @@ 

    FloatingActionButton

    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.
    +
  • + +
  • +

    StatusBarUtil

    +

    + https://github.com/laobie/StatusBarUtil +

    +
    +License
    +
    +Copyright 2016 Jaeger Chen
    +
    +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.
    diff --git a/app/src/main/java/me/gensh/fragment/DashboardFragment.java b/app/src/main/java/me/gensh/fragment/DashboardFragment.java
    index d5e0a20..56b0d78 100644
    --- a/app/src/main/java/me/gensh/fragment/DashboardFragment.java
    +++ b/app/src/main/java/me/gensh/fragment/DashboardFragment.java
    @@ -107,7 +107,7 @@ public void onItemClick(AdapterView adapterView, View view, int position, lon
                             startActivity(network);
                             break;
                         case GRID_VIEW_ITEM_TAG_CAMPUS_CARD:
    -                        Snackbar.make(gridViewDashboard, R.string.developing, Snackbar.LENGTH_INDEFINITE).show(); //// TODO: 2017/9/14
    +                        Snackbar.make(gridViewDashboard, R.string.developing, Snackbar.LENGTH_LONG).show(); //// TODO: 2017/9/14
                             break;
                         case GRID_VIEW_ITEM_TAG_LIBRARY:
                             Intent library = new Intent(getActivity(), Library.class);
    diff --git a/app/src/main/java/me/gensh/fragment/InnovationCreditFragment.java b/app/src/main/java/me/gensh/fragment/InnovationCreditFragment.java
    index f481123..1af8339 100644
    --- a/app/src/main/java/me/gensh/fragment/InnovationCreditFragment.java
    +++ b/app/src/main/java/me/gensh/fragment/InnovationCreditFragment.java
    @@ -1,9 +1,12 @@
     package me.gensh.fragment;
     
     
    +import android.app.Activity;
     import android.content.Context;
    +import android.os.Build;
     import android.os.Bundle;
     import android.app.Fragment;
    +import android.util.Log;
     import android.view.LayoutInflater;
     import android.view.View;
     import android.view.ViewGroup;
    @@ -18,6 +21,8 @@
     
     import me.gensh.helloustb.R;
     
    +import static android.os.Build.VERSION_CODES.LOLLIPOP;
    +
     /**
      * A simple {@link Fragment} subclass.
      * Use the {@link InnovationCreditFragment#newInstance} factory method to
    @@ -77,8 +82,11 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa
             if (listItems == null || listItems.size() == 0) {
                 Toast.makeText(getActivity(), R.string.no_innovation_credit_now, Toast.LENGTH_LONG).show();
             }
    +
             if (mListener != null) {
                 mListener.onInnovationCreditCalculated(creditSum);
    +        } else {
    +            Log.e("subTitle", "listener is null");
             }
             return view;
         }
    @@ -93,6 +101,29 @@ public void onAttach(Context context) {
             }
         }
     
    +    /**
    +     * for pre-lollipop version
    +     * see https://stackoverflow.com/questions/32604552/onattach-not-called-in-fragment  for more details.
    +     * @param activity container activity
    +     */
    +    @Override
    +    public void onAttach(Activity activity) {
    +        super.onAttach(activity);
    +        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
    +            if (activity instanceof OnInnovationCreditLoadListener) {
    +                mListener = (OnInnovationCreditLoadListener) activity;
    +            } else {
    +                throw new RuntimeException(activity.toString() + " must implement OnInnovationCreditLoadListener");
    +            }
    +        }
    +    }
    +
    +    @Override
    +    public void onDetach() {
    +        super.onDetach();
    +        mListener = null;
    +    }
    +
         /**
          * This interface must be implemented by activities that contain this
          * fragment to allow an interaction in this fragment to be communicated
    diff --git a/app/src/main/java/me/gensh/fragment/SettingsFragment.java b/app/src/main/java/me/gensh/fragment/SettingsFragment.java
    index 951a7a2..2e874cc 100644
    --- a/app/src/main/java/me/gensh/fragment/SettingsFragment.java
    +++ b/app/src/main/java/me/gensh/fragment/SettingsFragment.java
    @@ -70,6 +70,7 @@ public void onResume() {
     
             long week_start_days = preferences.getLong(Const.Settings.KEY_WEEK_START, 0);
             mPreferenceWeekNum.setValue(BasicDate.getWeekNum(week_start_days) + "");
    +        //have a think: setValue will cause a call of function onSharedPreferenceChanged. But it have no effect.todo think.
             setListSummary(mPreferenceWeekNum, "第一周");
         }
     
    @@ -79,13 +80,12 @@ public void onPause() {
             super.onPause();
         }
     
    -
         //    init MaterialListPreference
         @Override
         public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
             if (Const.Settings.KEY_WEEK_NUM.equals(key)) {
                 setWeekStart(Integer.parseInt(mPreferenceWeekNum.getValue()));
    -            BasicDate.writeLog("changed!\r\n");
    +//            BasicDate.writeLog("changed!\r\n");
                 setListSummary(mPreferenceWeekNum, "第一周");
             } else if (Const.Settings.KEY_NET_SIGN_IN_MODE.equals(key)) {
                 setListSummary(mPreferenceNetSignInMode, "普通模式");
    diff --git a/app/src/main/java/me/gensh/fragment/TodayCourseFragment.java b/app/src/main/java/me/gensh/fragment/TodayCourseFragment.java
    index 504a04f..8129c98 100644
    --- a/app/src/main/java/me/gensh/fragment/TodayCourseFragment.java
    +++ b/app/src/main/java/me/gensh/fragment/TodayCourseFragment.java
    @@ -51,7 +51,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa
         @Override
         public void onResume() {
             super.onResume();
    -        showCourse();
    +        showCourse();  //if we have imported course,and then I deleted the database(or imported empty timetable),but, then the todat have no updated.todo: bug
         }
     
         @OnClick(R.id.today_course_import_or_see_all)
    diff --git a/app/src/main/java/me/gensh/helloustb/Account.java b/app/src/main/java/me/gensh/helloustb/Account.java
    index 031977a..553ebe3 100644
    --- a/app/src/main/java/me/gensh/helloustb/Account.java
    +++ b/app/src/main/java/me/gensh/helloustb/Account.java
    @@ -18,7 +18,7 @@ public class Account extends AppCompatActivity {
         protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.activity_account);
    -        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    +        Toolbar toolbar = findViewById(R.id.toolbar);
             setSupportActionBar(toolbar);
             getSupportActionBar().setDisplayShowHomeEnabled(true);
     
    diff --git a/app/src/main/java/me/gensh/helloustb/Browser.java b/app/src/main/java/me/gensh/helloustb/Browser.java
    index 16dd685..aba5d9e 100644
    --- a/app/src/main/java/me/gensh/helloustb/Browser.java
    +++ b/app/src/main/java/me/gensh/helloustb/Browser.java
    @@ -5,6 +5,7 @@
     import android.content.Context;
     import android.content.Intent;
     import android.net.Uri;
    +import android.os.Build;
     import android.os.Bundle;
     import android.os.Handler;
     import android.os.Message;
    @@ -120,7 +121,7 @@ public void handleMessage(Message msg) {
                 switch (msg.what) {
                     case 0x100://下载
     //					Toast.makeText(Browser.this,"文件"+str_msg+"下载完成", Toast.LENGTH_SHORT).show();
    -                    showNoptify(str_msg);
    +                    showNotify(str_msg);
                         break;
                 }
             }
    @@ -128,20 +129,26 @@ public void handleMessage(Message msg) {
     
     
         // 为发送通知的按钮的点击事件定义事件处理方法
    -    public void showNoptify(String FileName) {
    +    public void showNotify(String FileName) {
     
             Intent main_intent = new Intent(this, FileManager.class);
     //		 	main_intent.putExtra("open_id",1);
             PendingIntent pi = PendingIntent.getActivity(this, 0, main_intent, 0);
     
             NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
    -                .setSmallIcon(R.mipmap.ic_launcher)
                     .setContentTitle("点击打开文件")
                     .setTicker("下载成功")
                     .setContentText("文件" + FileName + "下载成功")
                     .setContentIntent(pi)
                     .setAutoCancel(true);
     
    +        if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    +            mBuilder.setSmallIcon(R.drawable.ic_adjust_white_24dp);
    +            mBuilder.setColor(getResources().getColor(R.color.colorPrimary));  // TODO: 2017/9/17
    +        } else {
    +            mBuilder.setSmallIcon(R.mipmap.ic_launcher);
    +        }
    +
             nm.notify(NOTIFICATION_ID, mBuilder.build());
         }
     
    diff --git a/app/src/main/java/me/gensh/helloustb/ELearningCategory.java b/app/src/main/java/me/gensh/helloustb/ELearningCategory.java
    index 074de83..0be5507 100644
    --- a/app/src/main/java/me/gensh/helloustb/ELearningCategory.java
    +++ b/app/src/main/java/me/gensh/helloustb/ELearningCategory.java
    @@ -1,9 +1,12 @@
     package me.gensh.helloustb;
     
     import android.animation.LayoutTransition;
    +import android.os.Build;
     import android.os.Bundle;
     import android.support.annotation.Nullable;
    +import android.support.v7.app.ActionBar;
     import android.support.v7.widget.Toolbar;
    +import android.util.Log;
     import android.view.MenuItem;
     import android.view.View;
     import android.widget.Toast;
    @@ -240,5 +243,6 @@ public void changeSubtitle(@Nullable String subtitle) {
                 toolbar.setLayoutTransition(new LayoutTransition()); //animation
                 toolbar.setSubtitle(subtitle);
             }
    +
         }
     }
    diff --git a/app/src/main/java/me/gensh/helloustb/FileManager.java b/app/src/main/java/me/gensh/helloustb/FileManager.java
    index 3eb60df..ecf64be 100644
    --- a/app/src/main/java/me/gensh/helloustb/FileManager.java
    +++ b/app/src/main/java/me/gensh/helloustb/FileManager.java
    @@ -65,7 +65,7 @@ private void inti() {
                 List.add(listitem);
             }
     
    -        ListView li = (ListView)findViewById(R.id.file_list);
    +        ListView li = findViewById(R.id.file_list);
             SimpleAdapter Adapter = new SimpleAdapter(this,List,
                     R.layout.listview_file_manager,
                     new String[]{"icon","name","time","size"},
    @@ -91,7 +91,7 @@ private void openFile(File file){
                 Intent intent = new Intent();
                 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                 intent.setAction(Intent.ACTION_VIEW);
    -            intent.setDataAndType(Uri.fromFile(file), type);
    +            intent.setDataAndType(Uri.fromFile(file), type);  // TODO: 2017/9/17
                 startActivity(intent);
             }else {
                 Toast.makeText(this, R.string.noApplicationToOpen, Toast.LENGTH_LONG).show();
    diff --git a/app/src/main/java/me/gensh/helloustb/MainActivity.java b/app/src/main/java/me/gensh/helloustb/MainActivity.java
    index cafe943..a8a6c73 100644
    --- a/app/src/main/java/me/gensh/helloustb/MainActivity.java
    +++ b/app/src/main/java/me/gensh/helloustb/MainActivity.java
    @@ -40,8 +40,8 @@
      */
     public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
         VersionCheckerTask checker;
    -    SearchView mSearchView;
    -    AppBarLayout appBarLayout;
    +//    SearchView mSearchView;
    +//    AppBarLayout appBarLayout;
         DrawerLayout drawer;
         View navigationHeader;
         Fragment homeFragment, dashboardFragment, settingFragment;
    @@ -73,10 +73,10 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) {
         protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.activity_main);
    -        appBarLayout = findViewById(R.id.app_bar_layout);
    +//        appBarLayout = findViewById(R.id.app_bar_layout);
             Toolbar toolbar = findViewById(R.id.toolbar);
             setSupportActionBar(toolbar);
    -        StatusBarUtil.setTransparent(this); //actually,it can be removed,but it will cause a bug for drawer item selection
    +//        StatusBarUtil.setTransparent(this); //actually,it can be removed,but it will cause a bug for drawer item selection;todo bugs,so removed.
     
             // drawLayout
             drawer = findViewById(R.id.drawer_layout);
    @@ -115,6 +115,7 @@ protected void onCreate(Bundle savedInstanceState) {
             navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
     
             // searchView
    +        /* //todo have bugs
             mSearchView = findViewById(R.id.searchView);
             mSearchView.setVersionMargins(SearchView.VersionMargins.TOOLBAR_SMALL);
             mSearchView.setOnOpenCloseListener(new SearchView.OnOpenCloseListener() {
    @@ -146,7 +147,7 @@ public void onSearchItemClick(View view, int position) {
                 }
             });
             mSearchView.setAdapter(searchAdapter);
    -
    +*/
             //event
             checker = new VersionCheckerTask(getString(R.string.UpdateAddress), this, true);
             checker.execute();
    @@ -191,7 +192,6 @@ protected void onDestroy() {
     
         @Override
         public boolean onCreateOptionsMenu(Menu menu) {
    -        // Inflate the menu; this adds items to the action bar if it is present.
             getMenuInflater().inflate(R.menu.menu_main, menu);
             return true;
         }
    @@ -199,13 +199,13 @@ public boolean onCreateOptionsMenu(Menu menu) {
         @Override
         public boolean onOptionsItemSelected(MenuItem item) {
             int id = item.getItemId();
    -        //noinspection SimplifiableIfStatement
             switch (id) {
                 case R.id.action_search:
    -                StatusBarUtil.setColor(MainActivity.this, getResources().getColor(R.color.white));//todo
    -                appBarLayout.setVisibility(View.INVISIBLE);
    -                mSearchView.setVisibility(View.VISIBLE);
    -                mSearchView.open(false); // enable or disable animation
    +                //todo have bugs
    +//                StatusBarUtil.setColor(MainActivity.this, getResources().getColor(R.color.white));//todo
    +//                appBarLayout.setVisibility(View.INVISIBLE);
    +//                mSearchView.setVisibility(View.VISIBLE);
    +//                mSearchView.open(false); // enable or disable animation
                     return true;
                 default:
                     return super.onOptionsItemSelected(item);
    @@ -280,15 +280,6 @@ public void onClick(View view) {
                         Intent my_center = new Intent(MainActivity.this, Account.class);
                         startActivity(my_center);
                         break;
    -
    -//                case R.id.menu_setting:
    -//                    Intent setting = new Intent(MainActivity.this, Settings.class);
    -//                    startActivity(setting);
    -//                    break;
    -//                case R.id.menu_playground:
    -//                    Intent playground=new Intent(MainActivity.this, TestActivity.class);
    -//                    startActivity(playground);
    -//                    break;
                 }
             }
         }
    diff --git a/app/src/main/java/me/gensh/helloustb/ShareApp.java b/app/src/main/java/me/gensh/helloustb/ShareApp.java
    index 6b710cb..13aadda 100644
    --- a/app/src/main/java/me/gensh/helloustb/ShareApp.java
    +++ b/app/src/main/java/me/gensh/helloustb/ShareApp.java
    @@ -18,7 +18,7 @@ public class ShareApp extends AppCompatActivity {
         protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.activity_share_app);
    -        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_share_app);
    +        Toolbar toolbar = findViewById(R.id.toolbar_share_app);
             setSupportActionBar(toolbar);
             getSupportActionBar().setDisplayShowHomeEnabled(true);
         }
    @@ -48,12 +48,11 @@ public void clickHandle(View v) {
         }
     
         private void shareMe() {
    -        // TODO Auto-generated method stub
             String appDir;
             try {
                 appDir = getPackageManager().getApplicationInfo(this.getPackageName(), 0).sourceDir;
                 appDir = "file://" + appDir;
    -            Uri uri = Uri.parse(appDir);
    +            Uri uri = Uri.parse(appDir);  // TODO: 2017/9/17
                 // 发送
                 Intent intent = new Intent(Intent.ACTION_SEND);
                 intent.putExtra(Intent.EXTRA_STREAM, uri);
    diff --git a/app/src/main/java/me/gensh/helloustb/Timetable.java b/app/src/main/java/me/gensh/helloustb/Timetable.java
    index 077a2fd..4ecc2a3 100644
    --- a/app/src/main/java/me/gensh/helloustb/Timetable.java
    +++ b/app/src/main/java/me/gensh/helloustb/Timetable.java
    @@ -3,8 +3,10 @@
     import android.app.AlertDialog;
     import android.content.Context;
     import android.content.DialogInterface;
    +import android.content.SharedPreferences;
     import android.os.AsyncTask;
     import android.os.Bundle;
    +import android.preference.PreferenceManager;
     import android.support.v4.view.ViewPager;
     import android.support.v7.widget.Toolbar;
     import android.view.LayoutInflater;
    @@ -21,6 +23,7 @@
     import me.gensh.database.StoreData;
     import me.gensh.fragment.TimetableFragment;
     import me.gensh.utils.BasicDate;
    +import me.gensh.utils.Const;
     import me.gensh.utils.LoginDialog;
     import me.gensh.utils.LoginNetworkActivity;
     
    @@ -56,6 +59,7 @@ protected void onCreate(Bundle savedInstanceState) {
             Toolbar toolbar = findViewById(R.id.timetable_toolbar);
             setSupportActionBar(toolbar);
             getSupportActionBar().setDisplayShowHomeEnabled(true);
    +        getSupportActionBar().setSubtitle(getString(R.string.timetable_week_num, getWeekNum() + 1));
             ButterKnife.bind(this);
     
             ViewGroup tab = findViewById(R.id.timetable_tab);
    @@ -73,6 +77,7 @@ protected void onCreate(Bundle savedInstanceState) {
             viewPager.setAdapter(adapter);
             viewPagerTab.setViewPager(viewPager);
     
    +        //set http response error handle.
             setErrorHandler(new ErrorHandler() {
                 @Override
                 public void onPasswordError() {
    @@ -137,6 +142,12 @@ public void onClick(DialogInterface dialog, int which) {
             }
         }
     
    +    private int getWeekNum() {
    +        SharedPreferences pre = PreferenceManager.getDefaultSharedPreferences(this);
    +        long week_start_days = pre.getLong(Const.Settings.KEY_WEEK_START, 0);
    +        return BasicDate.getWeekNum(week_start_days);
    +    }
    +
         @Override
         public void RequestResultHandler(int what, ArrayList data) {
             if (what == 0x101) { // from: verify elearning.ustb.edu.cn  password; post
    diff --git a/app/src/main/java/me/gensh/sdcard/SdCardPro.java b/app/src/main/java/me/gensh/sdcard/SdCardPro.java
    index d58af80..6691735 100644
    --- a/app/src/main/java/me/gensh/sdcard/SdCardPro.java
    +++ b/app/src/main/java/me/gensh/sdcard/SdCardPro.java
    @@ -28,11 +28,11 @@ public static void checkDirExit() {
         }
     
         //
    -    public static void createSDCardDir(String dirName) {
    +    private static void createSDCardDir(String dirName) {
             String path = getSDPath() + dirName;
    -        File Newdir = new File(path);
    -        if (!Newdir.exists()) {
    -            Newdir.mkdirs();
    +        File newDir = new File(path);
    +        if (!newDir.exists()) {
    +            newDir.mkdirs();
             }
         }
     
    diff --git a/app/src/main/java/me/gensh/service/CampusNetworkTest.java b/app/src/main/java/me/gensh/service/CampusNetworkTest.java
    index ff1a6cb..f5a5a73 100644
    --- a/app/src/main/java/me/gensh/service/CampusNetworkTest.java
    +++ b/app/src/main/java/me/gensh/service/CampusNetworkTest.java
    @@ -6,6 +6,7 @@
     import android.content.Context;
     import android.content.Intent;
     import android.content.SharedPreferences;
    +import android.os.Build;
     import android.os.Handler;
     import android.os.Message;
     import android.preference.PreferenceManager;
    @@ -102,8 +103,14 @@ private void handleActionNetworkCheck(String ssid) {
                         mBuilder.setContentTitle(getBaseContext().getString(R.string.network_notify_title))
                                 .setContentText(getBaseContext().getString(R.string.network_notify_content, ssid))
                                 .setTicker(getBaseContext().getString(R.string.network_notify_ticker))
    -                            .setAutoCancel(true)
    -                            .setSmallIcon(R.mipmap.ic_launcher);
    +                            .setAutoCancel(true);
    +
    +                    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    +                        mBuilder.setSmallIcon(R.drawable.ic_adjust_white_24dp);
    +                        mBuilder.setColor(getResources().getColor(R.color.colorPrimary));  // TODO: 2017/9/17
    +                    } else {
    +                        mBuilder.setSmallIcon(R.mipmap.ic_launcher);
    +                    }
     
                         Intent notifyIntent = new Intent(this, NetWorkSignIn.class);
                         notifyIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
    @@ -196,8 +203,15 @@ NotificationCompat.Builder buildNotification(int title, String content) {
             mBuilder.setContentTitle(context.getString(title))
                     .setContentText(content)
                     .setTicker(context.getString(R.string.auto_sign_in_error_ticker))
    -                .setAutoCancel(true)
    -                .setSmallIcon(R.mipmap.ic_launcher);
    +                .setAutoCancel(true);
    +
    +        if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    +            mBuilder.setSmallIcon(R.drawable.ic_adjust_white_24dp);
    +            mBuilder.setColor(getResources().getColor(R.color.colorPrimary));  // TODO: 2017/9/17
    +        } else {
    +            mBuilder.setSmallIcon(R.mipmap.ic_launcher);
    +        }
    +
             mNotificationManager.notify(AUTO_SIGN_IN_ERROR_NOTIFY_ID, mBuilder.build());
             return mBuilder;
         }
    diff --git a/app/src/main/java/me/gensh/service/DownloadApk.java b/app/src/main/java/me/gensh/service/DownloadApk.java
    index 0891a9d..ee44815 100644
    --- a/app/src/main/java/me/gensh/service/DownloadApk.java
    +++ b/app/src/main/java/me/gensh/service/DownloadApk.java
    @@ -4,6 +4,7 @@
     import android.app.Service;
     import android.content.Intent;
     import android.net.Uri;
    +import android.os.Build;
     import android.os.Handler;
     import android.os.IBinder;
     import android.os.Message;
    @@ -35,13 +36,19 @@ public class DownloadApk extends Service {
     
         @Override
         public void onCreate() {
    -        mBuilder = new NotificationCompat.Builder(DownloadApk.this)
    -                .setSmallIcon(R.mipmap.ic_launcher)
    +        mBuilder = new NotificationCompat.Builder(DownloadApk.this, "CHANNEL_ID")
                     .setContentTitle(getString(R.string.update_download))
                     .setTicker(getString(R.string.startDownload))
                     .setProgress(0, 0, true)
                     .setContentText(getString(R.string.update_downloading));
     
    +        if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    +            mBuilder.setSmallIcon(R.drawable.ic_adjust_white_24dp);
    +            mBuilder.setColor(getResources().getColor(R.color.colorPrimary));  // TODO: 2017/9/17
    +        } else {
    +            mBuilder.setSmallIcon(R.mipmap.ic_launcher);
    +        }
    +
             mNotifyManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
             super.onCreate();
         }
    @@ -81,7 +88,7 @@ public void run() {
                                 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                                 intent.setAction(Intent.ACTION_VIEW);
                                 String type = "application/vnd.android.package-archive";
    -                            intent.setDataAndType(Uri.fromFile(file), type);
    +                            intent.setDataAndType(Uri.fromFile(file), type); //// TODO: 2017/9/17
                                 startActivity(intent);
                                 downloading = false;
                                 size = 0;
    @@ -99,7 +106,6 @@ public void run() {
     
         @Override
         public IBinder onBind(Intent intent) {
    -        // TODO Auto-generated catch block
             return null;
         }
     
    @@ -122,6 +128,7 @@ public void handleMessage(Message msg) {
             }
         };
     
    +    // TODO: 2017/9/17
         public File writeToSDfromInput(String path, String fileName, InputStream inputStream) {
             File file = SdCardPro.createSDFile(path + fileName);
             OutputStream outStream;
    @@ -131,7 +138,7 @@ public File writeToSDfromInput(String path, String fileName, InputStream inputSt
                 int count;
                 while ((count = inputStream.read(buffer)) != -1) {
                     outStream.write(buffer, 0, count);
    -                upeadataNotification(count);
    +                updateNotification(count);
                 }
                 outStream.flush();
                 outStream.close();
    @@ -147,7 +154,7 @@ public File writeToSDfromInput(String path, String fileName, InputStream inputSt
             return file;
         }
     
    -    private void upeadataNotification(int count) {
    +    private void updateNotification(int count) {
             download_size += count;
             int percent = (int) (download_size / (size / 100));
             if (download_percent != percent) {
    diff --git a/app/src/main/java/me/gensh/utils/Const.java b/app/src/main/java/me/gensh/utils/Const.java
    index a76e45a..83a2044 100644
    --- a/app/src/main/java/me/gensh/utils/Const.java
    +++ b/app/src/main/java/me/gensh/utils/Const.java
    @@ -5,6 +5,7 @@
      */
     final public class Const {
         public static final class Settings {
    +        public final static String KEY_STU_NO_NUMBER_ONLY = "stu_no_number_only";
             public final static String KEY_WEEK_START = " week_start";
             public static final String KEY_WEEK_NUM = "week_num";
             public static final String KEY_NET_AUTO_SIGN_IN_ENABLE = "net_auto_sign_in_enable";
    diff --git a/app/src/main/java/me/gensh/utils/LoginNetworkActivity.java b/app/src/main/java/me/gensh/utils/LoginNetworkActivity.java
    index 79afdd8..6bec09b 100644
    --- a/app/src/main/java/me/gensh/utils/LoginNetworkActivity.java
    +++ b/app/src/main/java/me/gensh/utils/LoginNetworkActivity.java
    @@ -1,7 +1,12 @@
     package me.gensh.utils;
     
     import android.content.DialogInterface;
    +import android.content.SharedPreferences;
    +import android.preference.PreferenceManager;
    +import android.support.design.widget.TextInputEditText;
     import android.support.v7.app.AlertDialog;
    +import android.text.InputType;
    +import android.text.method.DigitsKeyListener;
     import android.view.View;
     import android.widget.TextView;
     
    @@ -20,7 +25,15 @@ public void Login(final LoginDialog ld, final String tag, final int feedback) {
             passFileName = ld.passFileName;
             if (!SdCardPro.fileIsExists(ld.passFileName)) {
                 canWrite = true;
    -            final View enter = getLayoutInflater().inflate(R.layout.dialog_enter, null);
    +            SharedPreferences pre = PreferenceManager.getDefaultSharedPreferences(this);
    +            boolean numberOnly = pre.getBoolean(Const.Settings.KEY_STU_NO_NUMBER_ONLY, false);
    +            final View enter = getLayoutInflater().inflate(R.layout.dialog_sign_in, null);
    +            TextInputEditText account = enter.findViewById(R.id.account);
    +            if (numberOnly) {  //default is text type.
    +                //use different layout based on value of key KEY_STU_NO_NUMBER_ONLY
    +                account.setInputType(InputType.TYPE_CLASS_NUMBER);
    +            }
    +
                 new AlertDialog.Builder(this)
                         .setTitle(ld.dialog_title)
                         .setView(enter)
    diff --git a/app/src/main/res/drawable-v21/ic_notifications_black_24dp.xml b/app/src/main/res/drawable-v21/ic_notifications_black_24dp.xml
    deleted file mode 100644
    index 14f20f9..0000000
    --- a/app/src/main/res/drawable-v21/ic_notifications_black_24dp.xml
    +++ /dev/null
    @@ -1,9 +0,0 @@
    -
    -    
    -
    diff --git a/app/src/main/res/drawable-v21/ic_sync_black_24dp.xml b/app/src/main/res/drawable-v21/ic_sync_black_24dp.xml
    deleted file mode 100644
    index ab79101..0000000
    --- a/app/src/main/res/drawable-v21/ic_sync_black_24dp.xml
    +++ /dev/null
    @@ -1,9 +0,0 @@
    -
    -    
    -
    \ No newline at end of file
    diff --git a/app/src/main/res/drawable/ic_adjust_white_24dp.xml b/app/src/main/res/drawable/ic_adjust_white_24dp.xml
    new file mode 100644
    index 0000000..bdc6cef
    --- /dev/null
    +++ b/app/src/main/res/drawable/ic_adjust_white_24dp.xml
    @@ -0,0 +1,9 @@
    +
    +    
    +
    diff --git a/app/src/main/res/drawable-v21/ic_menu_account_box.xml b/app/src/main/res/drawable/ic_menu_account_box.xml
    similarity index 100%
    rename from app/src/main/res/drawable-v21/ic_menu_account_box.xml
    rename to app/src/main/res/drawable/ic_menu_account_box.xml
    diff --git a/app/src/main/res/drawable-v21/ic_menu_file_download.xml b/app/src/main/res/drawable/ic_menu_file_download.xml
    similarity index 100%
    rename from app/src/main/res/drawable-v21/ic_menu_file_download.xml
    rename to app/src/main/res/drawable/ic_menu_file_download.xml
    diff --git a/app/src/main/res/drawable-v21/ic_menu_github.xml b/app/src/main/res/drawable/ic_menu_github.xml
    similarity index 100%
    rename from app/src/main/res/drawable-v21/ic_menu_github.xml
    rename to app/src/main/res/drawable/ic_menu_github.xml
    diff --git a/app/src/main/res/drawable-v21/ic_menu_info.xml b/app/src/main/res/drawable/ic_menu_info.xml
    similarity index 100%
    rename from app/src/main/res/drawable-v21/ic_menu_info.xml
    rename to app/src/main/res/drawable/ic_menu_info.xml
    diff --git a/app/src/main/res/drawable-v21/ic_menu_manage.xml b/app/src/main/res/drawable/ic_menu_manage.xml
    similarity index 100%
    rename from app/src/main/res/drawable-v21/ic_menu_manage.xml
    rename to app/src/main/res/drawable/ic_menu_manage.xml
    diff --git a/app/src/main/res/drawable-v21/ic_menu_send.xml b/app/src/main/res/drawable/ic_menu_send.xml
    similarity index 100%
    rename from app/src/main/res/drawable-v21/ic_menu_send.xml
    rename to app/src/main/res/drawable/ic_menu_send.xml
    diff --git a/app/src/main/res/drawable-v21/ic_menu_share.xml b/app/src/main/res/drawable/ic_menu_share.xml
    similarity index 100%
    rename from app/src/main/res/drawable-v21/ic_menu_share.xml
    rename to app/src/main/res/drawable/ic_menu_share.xml
    diff --git a/app/src/main/res/drawable/ic_notifications_black_24dp.xml b/app/src/main/res/drawable/ic_notifications_black_24dp.xml
    deleted file mode 100644
    index 0262382..0000000
    --- a/app/src/main/res/drawable/ic_notifications_black_24dp.xml
    +++ /dev/null
    @@ -1,9 +0,0 @@
    -
    -    
    -
    diff --git a/app/src/main/res/layout/app_bar_main.xml b/app/src/main/res/layout/app_bar_main.xml
    index 3163014..017c100 100644
    --- a/app/src/main/res/layout/app_bar_main.xml
    +++ b/app/src/main/res/layout/app_bar_main.xml
    @@ -27,14 +27,15 @@
     
         
     
    -    
    +    
    +     
    +        
    +        
    +        
    +        
    +        
    +        
    +        
    +        
     
     
    diff --git a/app/src/main/res/layout/dialog_enter.xml b/app/src/main/res/layout/dialog_sign_in.xml
    similarity index 97%
    rename from app/src/main/res/layout/dialog_enter.xml
    rename to app/src/main/res/layout/dialog_sign_in.xml
    index 9bd5f4e..77c38d0 100644
    --- a/app/src/main/res/layout/dialog_enter.xml
    +++ b/app/src/main/res/layout/dialog_sign_in.xml
    @@ -17,7 +17,7 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:hint="@string/schnum"
    -            android:inputType="number"
    +            android:inputType="text"
                 android:textColorHint="@color/colorPrimary" />
         
     
    diff --git a/app/src/main/res/layout/preference_category_widget.xml b/app/src/main/res/layout/preference_category_widget.xml
    index 89d608c..82ec64d 100644
    --- a/app/src/main/res/layout/preference_category_widget.xml
    +++ b/app/src/main/res/layout/preference_category_widget.xml
    @@ -9,12 +9,10 @@
             android:id="@android:id/title"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
    -        android:paddingEnd="8dp"
    -        android:paddingLeft="8dp"
    -        android:paddingRight="8dp"
    -        android:paddingStart="8dp"
    +        android:paddingLeft="16dp"
    +        android:paddingRight="16dp"
             android:paddingTop="16dp"
    -        android:textColor="@color/green"
    +        android:textColor="@color/colorAccent"
             android:textSize="14sp" />
     
    -
    \ No newline at end of file
    +
    diff --git a/app/src/main/res/layout/preference_item.xml b/app/src/main/res/layout/preference_item.xml
    index ae19599..20f1a13 100644
    --- a/app/src/main/res/layout/preference_item.xml
    +++ b/app/src/main/res/layout/preference_item.xml
    @@ -20,7 +20,7 @@
                 android:layout_height="wrap_content"
                 android:ellipsize="marquee"
                 android:fadingEdge="horizontal"
    -            android:singleLine="true"
    +            android:maxLines="1"
                 android:textColor="@color/preference_item_title_color"
                 android:textSize="16sp" />
     
    diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png
    index dedad174de7e8f54b7a110002075e9b4c9b5624d..eea67eea3b285c42aaf84af783091a665345446e 100644
    GIT binary patch
    literal 22465
    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
    
    literal 7252
    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
    irEk27FtO&T0`h;$2gU5#E{_iY0000yj$sx!A
    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
    Uxr+!02><{907*qoM6N<$f?HVq3IG5A
    
    diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
    index 9b13f0b93d8faf68516ad12abc4cb5cdee6256c3..18eb43279639664e4226b753e86fdf9918bd14ad 100644
    GIT binary patch
    literal 23740
    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
    
    literal 11943
    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 iQoRzRa?a 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 Qd5{($C#5V|FK!z8KdLlKA^-pY diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index ff84c6a..654edeb 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -8,7 +8,7 @@ 25dp - + 0dp 20dp diff --git a/app/src/main/res/values/drawables.xml b/app/src/main/res/values/drawables.xml index 52c6a6c..5db5fcc 100644 --- a/app/src/main/res/values/drawables.xml +++ b/app/src/main/res/values/drawables.xml @@ -1,8 +1,8 @@ - @android:drawable/ic_menu_camera - @android:drawable/ic_menu_gallery - @android:drawable/ic_menu_slideshow - @android:drawable/ic_menu_manage - @android:drawable/ic_menu_share - @android:drawable/ic_menu_send + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a096335..ab87aee 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -90,6 +90,7 @@ 学号 密码 + 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 请输入登录账号 @@ -290,6 +291,7 @@ 课程表导入失败 正在导入课程表,请稍后… 分享课表 + 当前第%d周 你今天没有课哟~ diff --git a/app/src/main/res/xml/general_preferences.xml b/app/src/main/res/xml/general_preferences.xml index 36db24b..9317d00 100644 --- a/app/src/main/res/xml/general_preferences.xml +++ b/app/src/main/res/xml/general_preferences.xml @@ -1,6 +1,19 @@ + + + + + diff --git a/bugs.txt b/bugs.txt index 07b4fbe..9368500 100644 --- a/bugs.txt +++ b/bugs.txt @@ -2,5 +2,6 @@ 课表的内容可以被首页的内容覆盖【网络延迟】 //todo 浏览器和下载Activity的两个noticefication ic_launcher图标换下 +//todo 成绩分享生成图片 //todo support fragment is still used in LibrarySearchFragment and NetWorkSignInFragment TimetableFragment // file first added to repository: https://stackoverflow.com/questions/11533199/find-commit-where-file-was-added \ No newline at end of file