Added SQLite, added languages
This commit is contained in:
		
							parent
							
								
									628f816a9e
								
							
						
					
					
						commit
						f50fd1ac61
					
				@ -12,5 +12,4 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Project target.
 | 
					# Project target.
 | 
				
			||||||
target=android-21
 | 
					target=android-21
 | 
				
			||||||
android.library.reference.1=..\\appcompat_v7
 | 
					android.library.reference.1=..\\HorizontalListViewLibrary
 | 
				
			||||||
android.library.reference.2=../HorizontalListViewLibrary
 | 
					 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										9
									
								
								android/res/drawable/transparent_button.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								android/res/drawable/transparent_button.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<selector xmlns:android="http://schemas.android.com/apk/res/android" >
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/transparent" />
 | 
				
			||||||
 | 
					    <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/transparent_highlighted" />
 | 
				
			||||||
 | 
					    <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/transparent_highlighted" />
 | 
				
			||||||
 | 
					    <item android:drawable="@drawable/transparent" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</selector>
 | 
				
			||||||
							
								
								
									
										8
									
								
								android/res/drawable/transparent_highlighted.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								android/res/drawable/transparent_highlighted.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 | 
				
			||||||
 | 
					    <item android:drawable="@drawable/transparent"/>
 | 
				
			||||||
 | 
					    <item>
 | 
				
			||||||
 | 
					        <shape>
 | 
				
			||||||
 | 
					            <solid android:color="@color/button_highlighted" />
 | 
				
			||||||
 | 
					        </shape>
 | 
				
			||||||
 | 
					    </item>
 | 
				
			||||||
 | 
					</layer-list>
 | 
				
			||||||
@ -12,13 +12,13 @@
 | 
				
			|||||||
        android:id="@+id/imageButton"
 | 
					        android:id="@+id/imageButton"
 | 
				
			||||||
        android:layout_width="wrap_content"
 | 
					        android:layout_width="wrap_content"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:layout_gravity="center_horizontal" />
 | 
					        android:layout_gravity="center_horizontal"
 | 
				
			||||||
 | 
					        android:contentDescription="@string/related_image" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <TextView
 | 
					    <TextView
 | 
				
			||||||
        android:id="@+id/textView1"
 | 
					        android:id="@+id/textView"
 | 
				
			||||||
        android:layout_width="wrap_content"
 | 
					        android:layout_width="wrap_content"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:layout_gravity="center_vertical"
 | 
					        android:layout_gravity="center_vertical" />
 | 
				
			||||||
        android:text="TextView" />
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
</LinearLayout>
 | 
					</LinearLayout>
 | 
				
			||||||
 | 
				
			|||||||
@ -9,11 +9,11 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    <ImageView
 | 
					    <ImageView
 | 
				
			||||||
        android:id="@+id/imageView"
 | 
					        android:id="@+id/imageView"
 | 
				
			||||||
        android:layout_width="24dp"
 | 
					        android:layout_width="48dp"
 | 
				
			||||||
        android:layout_height="24dp"
 | 
					        android:layout_height="48dp"
 | 
				
			||||||
        android:layout_margin="4dp"
 | 
					        android:layout_margin="4dp"
 | 
				
			||||||
        android:layout_marginLeft="10dp"
 | 
					        android:layout_marginLeft="10dp"
 | 
				
			||||||
        android:src="@drawable/test_drawer_icon" />
 | 
					        android:contentDescription="@string/icon" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <TextView
 | 
					    <TextView
 | 
				
			||||||
        android:id="@+id/textView"
 | 
					        android:id="@+id/textView"
 | 
				
			||||||
@ -22,7 +22,7 @@
 | 
				
			|||||||
        android:layout_gravity="center"
 | 
					        android:layout_gravity="center"
 | 
				
			||||||
        android:layout_margin="4dp"
 | 
					        android:layout_margin="4dp"
 | 
				
			||||||
        android:paddingLeft="10dp"
 | 
					        android:paddingLeft="10dp"
 | 
				
			||||||
        android:text="TextView"
 | 
					        android:text=""
 | 
				
			||||||
        android:textColor="@color/text_white"
 | 
					        android:textColor="@color/text_white"
 | 
				
			||||||
        android:textSize="20sp" />
 | 
					        android:textSize="20sp" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										22
									
								
								android/res/layout/fragment_news_page.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								android/res/layout/fragment_news_page.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
				
			||||||
 | 
					    xmlns:tools="http://schemas.android.com/tools"
 | 
				
			||||||
 | 
					    android:layout_width="match_parent"
 | 
				
			||||||
 | 
					    android:layout_height="match_parent"
 | 
				
			||||||
 | 
					    android:layout_margin="0dp"
 | 
				
			||||||
 | 
					    android:background="@color/bkg1"
 | 
				
			||||||
 | 
					    android:orientation="vertical"
 | 
				
			||||||
 | 
					    tools:context="fishrungames.bashgid.MainPageFragment" >
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <ListView
 | 
				
			||||||
 | 
					        android:id="@+id/listView"
 | 
				
			||||||
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					        android:layout_marginLeft="16dp"
 | 
				
			||||||
 | 
					        android:layout_marginRight="16dp"
 | 
				
			||||||
 | 
					        android:divider="@color/bkg2"
 | 
				
			||||||
 | 
					        android:dividerHeight="2dp"
 | 
				
			||||||
 | 
					        android:paddingBottom="16dp" >
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </ListView>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					</LinearLayout>
 | 
				
			||||||
							
								
								
									
										38
									
								
								android/res/layout/fragment_news_record_page.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								android/res/layout/fragment_news_record_page.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
 | 
				
			||||||
 | 
					    xmlns:tools="http://schemas.android.com/tools"
 | 
				
			||||||
 | 
					    android:layout_width="match_parent"
 | 
				
			||||||
 | 
					    android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					    android:layout_margin="0dp"
 | 
				
			||||||
 | 
					    android:background="@color/bkg1"
 | 
				
			||||||
 | 
					    tools:context="fishrungames.bashgid.MainPageFragment" >
 | 
				
			||||||
 | 
					        <LinearLayout
 | 
				
			||||||
 | 
					            android:layout_width="match_parent"
 | 
				
			||||||
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					            android:orientation="vertical" >
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <TextView
 | 
				
			||||||
 | 
					                android:id="@+id/titleTextView"
 | 
				
			||||||
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					                android:textColorHint="@color/text_black"
 | 
				
			||||||
 | 
					                android:textSize="24sp"
 | 
				
			||||||
 | 
					                android:textStyle="bold" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <ImageView
 | 
				
			||||||
 | 
					                android:id="@+id/imageView"
 | 
				
			||||||
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					                android:layout_gravity="center_horizontal"
 | 
				
			||||||
 | 
					                android:src="@drawable/transparent"
 | 
				
			||||||
 | 
					                android:contentDescription="@string/news_content_description" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <TextView
 | 
				
			||||||
 | 
					                android:id="@+id/descriptionTextView"
 | 
				
			||||||
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					                android:textSize="18sp" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        </LinearLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </ScrollView>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
@ -29,7 +29,7 @@
 | 
				
			|||||||
            android:layout_width="wrap_content"
 | 
					            android:layout_width="wrap_content"
 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
            android:layout_gravity="center_vertical"
 | 
					            android:layout_gravity="center_vertical"
 | 
				
			||||||
            android:contentDescription="@string/news_content_description_1" />
 | 
					            android:contentDescription="@string/news_content_description" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <TextView
 | 
					        <TextView
 | 
				
			||||||
            android:id="@+id/news1TextView"
 | 
					            android:id="@+id/news1TextView"
 | 
				
			||||||
@ -51,7 +51,7 @@
 | 
				
			|||||||
            android:layout_width="wrap_content"
 | 
					            android:layout_width="wrap_content"
 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
            android:layout_gravity="center_vertical"
 | 
					            android:layout_gravity="center_vertical"
 | 
				
			||||||
            android:contentDescription="@string/news_content_description_2" />
 | 
					            android:contentDescription="@string/news_content_description" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <TextView
 | 
					        <TextView
 | 
				
			||||||
            android:id="@+id/news2TextView"
 | 
					            android:id="@+id/news2TextView"
 | 
				
			||||||
@ -73,7 +73,7 @@
 | 
				
			|||||||
            android:layout_width="wrap_content"
 | 
					            android:layout_width="wrap_content"
 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
            android:layout_gravity="center_vertical"
 | 
					            android:layout_gravity="center_vertical"
 | 
				
			||||||
            android:contentDescription="@string/news_content_description_3" />
 | 
					            android:contentDescription="@string/news_content_description" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <TextView
 | 
					        <TextView
 | 
				
			||||||
            android:id="@+id/news3TextView"
 | 
					            android:id="@+id/news3TextView"
 | 
				
			||||||
@ -92,3 +92,4 @@
 | 
				
			|||||||
        android:text="@string/other_news" />
 | 
					        android:text="@string/other_news" />
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
</LinearLayout>
 | 
					</LinearLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										33
									
								
								android/res/layout/news_page_list_element.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								android/res/layout/news_page_list_element.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
				
			||||||
 | 
					    android:layout_width="match_parent"
 | 
				
			||||||
 | 
					    android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					    android:layout_margin="4dp"
 | 
				
			||||||
 | 
					    android:background="@color/bkg1"
 | 
				
			||||||
 | 
					    android:orientation="horizontal"
 | 
				
			||||||
 | 
					    android:paddingBottom="4dp"
 | 
				
			||||||
 | 
					    android:paddingTop="4dp"
 | 
				
			||||||
 | 
					    android:showDividers="middle" >
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <ImageButton
 | 
				
			||||||
 | 
					        android:id="@+id/imageButton"
 | 
				
			||||||
 | 
					        android:layout_width="wrap_content"
 | 
				
			||||||
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					        android:layout_gravity="center_vertical"
 | 
				
			||||||
 | 
					        android:layout_margin="6dp"
 | 
				
			||||||
 | 
					        android:background="@drawable/transparent"
 | 
				
			||||||
 | 
					        android:src="@drawable/transparent_button"
 | 
				
			||||||
 | 
					        android:contentDescription="@string/news_content_description" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <Button
 | 
				
			||||||
 | 
					        android:id="@+id/button"
 | 
				
			||||||
 | 
					        android:layout_width="wrap_content"
 | 
				
			||||||
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					        android:layout_gravity="center_vertical"
 | 
				
			||||||
 | 
					        android:background="@drawable/transparent_button"
 | 
				
			||||||
 | 
					        android:gravity="left|center_vertical"
 | 
				
			||||||
 | 
					        android:minHeight="0dip"
 | 
				
			||||||
 | 
					        android:minWidth="0dip"
 | 
				
			||||||
 | 
					        android:textColor="@color/text_grey" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</LinearLayout>
 | 
				
			||||||
							
								
								
									
										21
									
								
								android/res/layout/news_page_list_header.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								android/res/layout/news_page_list_header.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
				
			||||||
 | 
					    xmlns:tools="http://schemas.android.com/tools"
 | 
				
			||||||
 | 
					    android:layout_width="match_parent"
 | 
				
			||||||
 | 
					    android:layout_height="match_parent"
 | 
				
			||||||
 | 
					    android:background="@color/bkg1"
 | 
				
			||||||
 | 
					    android:orientation="vertical"
 | 
				
			||||||
 | 
					    android:paddingLeft="20dp"
 | 
				
			||||||
 | 
					    android:paddingRight="20dp"
 | 
				
			||||||
 | 
					    tools:context="fishrungames.bashgid.MainPageFragment" >
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <TextView
 | 
				
			||||||
 | 
					        android:id="@+id/textView"
 | 
				
			||||||
 | 
					        android:layout_width="wrap_content"
 | 
				
			||||||
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					        android:layout_gravity="center_horizontal"
 | 
				
			||||||
 | 
					        android:layout_margin="8dp"
 | 
				
			||||||
 | 
					        android:text="@string/news_header"
 | 
				
			||||||
 | 
					        android:textSize="24sp"
 | 
				
			||||||
 | 
					        android:textStyle="bold" />
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					</LinearLayout>
 | 
				
			||||||
@ -3,10 +3,6 @@
 | 
				
			|||||||
    xmlns:tools="http://schemas.android.com/tools"
 | 
					    xmlns:tools="http://schemas.android.com/tools"
 | 
				
			||||||
    tools:context="fishrungames.bashgid.MainActivity" >
 | 
					    tools:context="fishrungames.bashgid.MainActivity" >
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <item
 | 
					 | 
				
			||||||
        android:id="@+id/action_example"
 | 
					 | 
				
			||||||
        android:title="@string/action_example"
 | 
					 | 
				
			||||||
        app:showAsAction="withText|ifRoom"/>
 | 
					 | 
				
			||||||
    <item
 | 
					    <item
 | 
				
			||||||
        android:id="@+id/action_settings"
 | 
					        android:id="@+id/action_settings"
 | 
				
			||||||
        android:orderInCategory="100"
 | 
					        android:orderInCategory="100"
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										41
									
								
								android/res/values-ru/strings.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								android/res/values-ru/strings.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,41 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<resources>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <string name="app_name">Гид РБ</string>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <string name="navigation_drawer_open">Открыть левую панель</string>
 | 
				
			||||||
 | 
					    <string name="navigation_drawer_close">Закрыть левую панель</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="action_settings">Настройки</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="search_title">Поиск</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="news_record_not_available">Запись недоступна</string>
 | 
				
			||||||
 | 
					    <string name="other_news">Другие новости…</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="see_all">Посмотреть все</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="news_header">Новости</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="news_content_description">Картинка к новости</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="related_image">Картинка к странице</string>
 | 
				
			||||||
 | 
					    <string name="icon">Иконка</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					    <string name="RB_Coat">Логотип</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="drawer_header">Гид РБ</string>
 | 
				
			||||||
 | 
					    <string name="drawer_guide">Гид</string>
 | 
				
			||||||
 | 
					    <string name="drawer_news">Новости</string>
 | 
				
			||||||
 | 
					    <string name="drawer_catalogue">Каталог</string>
 | 
				
			||||||
 | 
					    <string name="drawer_map">Карта</string>
 | 
				
			||||||
 | 
					    <string name="drawer_video">Видео</string>
 | 
				
			||||||
 | 
					    <string name="drawer_photo_gallery">Фотогалерея</string>
 | 
				
			||||||
 | 
					    <string name="drawer_for_investor">Инвестору</string>
 | 
				
			||||||
 | 
					    <string name="drawer_settings">Настройки</string>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</resources>
 | 
				
			||||||
							
								
								
									
										38
									
								
								android/res/values-zh-rCN/strings.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								android/res/values-zh-rCN/strings.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<resources>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <string name="app_name">巴什科尔托斯坦指南</string>
 | 
				
			||||||
 | 
					    <string name="navigation_drawer_open">打开导航窗格</string>
 | 
				
			||||||
 | 
					    <string name="navigation_drawer_close">关闭导航窗格</string>
 | 
				
			||||||
 | 
						<string name="action_settings">设置</string>  
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="search_title">搜索</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="news_record_not_available">文章不可</string>
 | 
				
			||||||
 | 
					    <string name="other_news">其他新闻…</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="see_all">查看更多新闻</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="news_header">新闻</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="news_content_description">图片相关的新闻</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="related_image">图片相关文章</string>
 | 
				
			||||||
 | 
					    <string name="icon">图标</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="RB_Coat">徽标</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					     <string name="drawer_header">巴什科尔托斯坦指南</string>
 | 
				
			||||||
 | 
					    <string name="drawer_guide">指南</string>
 | 
				
			||||||
 | 
					    <string name="drawer_news">新闻</string>
 | 
				
			||||||
 | 
					    <string name="drawer_catalogue">目录</string>
 | 
				
			||||||
 | 
					    <string name="drawer_map">地图</string>
 | 
				
			||||||
 | 
					    <string name="drawer_video">视频</string>
 | 
				
			||||||
 | 
					    <string name="drawer_photo_gallery">图片库</string>
 | 
				
			||||||
 | 
					    <string name="drawer_for_investor">投资者信息</string>
 | 
				
			||||||
 | 
					    <string name="drawer_settings">设置</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</resources>
 | 
				
			||||||
@ -10,6 +10,11 @@
 | 
				
			|||||||
   
 | 
					   
 | 
				
			||||||
<color name="text_white">#F0F0F0</color>
 | 
					<color name="text_white">#F0F0F0</color>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<color name="text_black">#080808</color>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<color name="text_grey">#808080</color>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
<color name="teaser_color">#2B517F</color>
 | 
					<color name="teaser_color">#2B517F</color>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<color name="black">#000000</color>
 | 
					<color name="black">#000000</color>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,35 +1,46 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
<resources>
 | 
					<resources>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <string name="app_name">Гид РБ</string>
 | 
					    <string name="app_name">RB Guide</string>
 | 
				
			||||||
    <string name="title_section1">Section 1</string>
 | 
					 | 
				
			||||||
    <string name="title_section2">Section 2</string>
 | 
					 | 
				
			||||||
    <string name="title_section3">Section 3</string>
 | 
					 | 
				
			||||||
    <string name="navigation_drawer_open">Open navigation drawer</string>
 | 
					    <string name="navigation_drawer_open">Open navigation drawer</string>
 | 
				
			||||||
    <string name="navigation_drawer_close">Close navigation drawer</string>
 | 
					    <string name="navigation_drawer_close">Close navigation drawer</string>
 | 
				
			||||||
    <string name="action_example">Example action</string>
 | 
					 | 
				
			||||||
	<string name="action_settings">Settings</string>
 | 
						<string name="action_settings">Settings</string>
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    <string name="lang_english">English</string>
 | 
					    <string name="lang_english">English</string>
 | 
				
			||||||
    <string name="lang_russian">Russian</string>
 | 
					    <string name="lang_russian">Русский</string>
 | 
				
			||||||
    <string name="lang_chinese">Chinese</string>
 | 
					    <string name="lang_chinese">中文</string>
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    <string name="search_title">Поиск</string>
 | 
					    <string name="search_title">Search</string>
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    <string name="news_record_not_available">Запись недоступна</string>
 | 
					    <string name="news_record_not_available">Record is not available</string>
 | 
				
			||||||
    <string name="other_news">Другие новости...</string>
 | 
					    <string name="other_news">Other news…</string>
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    <string name="news_header">Новости</string>
 | 
					    <string name="see_all">See all</string>
 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    <string name="news_content_description_1">Image related to news record</string>
 | 
					 | 
				
			||||||
    <string name="news_content_description_2">Image related to news record</string>
 | 
					 | 
				
			||||||
    <string name="news_content_description_3">Image related to news record</string>
 | 
					 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					    <string name="news_header">News</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="news_content_description">Image related to news record</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="related_image">Related image</string>
 | 
				
			||||||
 | 
					    <string name="icon">Icon</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="RB_Coat">Logo</string>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <string name="drawer_header">RB Guide</string>
 | 
				
			||||||
 | 
					    <string name="drawer_guide">Guide</string>
 | 
				
			||||||
 | 
					    <string name="drawer_news">News</string>
 | 
				
			||||||
 | 
					    <string name="drawer_catalogue">Catalogue</string>
 | 
				
			||||||
 | 
					    <string name="drawer_map">Map</string>
 | 
				
			||||||
 | 
					    <string name="drawer_video">Video</string>
 | 
				
			||||||
 | 
					    <string name="drawer_photo_gallery">Photo gallery</string>
 | 
				
			||||||
 | 
					    <string name="drawer_for_investor">For investor</string>
 | 
				
			||||||
 | 
					    <string name="drawer_settings">Settings</string>
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    <string name="RB_Coat">Coat of Bashkortostan</string>
 | 
					 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</resources>
 | 
					</resources>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,28 +1,21 @@
 | 
				
			|||||||
package fishrungames.bashgid;
 | 
					package fishrungames.bashgid;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Locale;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import android.app.Activity;
 | 
					import fishrungames.bashgid.core.NewsManager.NewsRecord;
 | 
				
			||||||
 | 
					import fishrungames.bashgid.core.db.NewsDataSource;
 | 
				
			||||||
import android.support.v7.app.ActionBarActivity;
 | 
					import android.support.v7.app.ActionBarActivity;
 | 
				
			||||||
import android.support.v7.app.ActionBar;
 | 
					 | 
				
			||||||
import android.support.v4.app.Fragment;
 | 
					import android.support.v4.app.Fragment;
 | 
				
			||||||
import android.support.v4.app.FragmentManager;
 | 
					import android.content.res.Configuration;
 | 
				
			||||||
import android.content.Context;
 | 
					 | 
				
			||||||
import android.content.Intent;
 | 
					 | 
				
			||||||
import android.os.Build;
 | 
					 | 
				
			||||||
import android.os.Bundle;
 | 
					import android.os.Bundle;
 | 
				
			||||||
import android.view.Gravity;
 | 
					
 | 
				
			||||||
import android.view.LayoutInflater;
 | 
					 | 
				
			||||||
import android.view.Menu;
 | 
					import android.view.Menu;
 | 
				
			||||||
import android.view.MenuItem;
 | 
					import android.view.MenuItem;
 | 
				
			||||||
import android.view.View;
 | 
					import android.view.View;
 | 
				
			||||||
import android.view.ViewGroup;
 | 
					
 | 
				
			||||||
import android.support.v4.widget.DrawerLayout;
 | 
					import android.support.v4.widget.DrawerLayout;
 | 
				
			||||||
import android.widget.ArrayAdapter;
 | 
					
 | 
				
			||||||
import android.widget.BaseAdapter;
 | 
					 | 
				
			||||||
import android.widget.ImageView;
 | 
					 | 
				
			||||||
import android.widget.ListView;
 | 
					 | 
				
			||||||
import android.widget.TextView;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -34,6 +27,8 @@ implements NavigationDrawerFragment.NavigationDrawerCallbacks {
 | 
				
			|||||||
	
 | 
						
 | 
				
			||||||
	private NavigationDrawerFragment mNavigationDrawerFragment = null;
 | 
						private NavigationDrawerFragment mNavigationDrawerFragment = null;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
						public NewsDataSource newsDataSource;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    protected void onCreate(Bundle savedInstanceState) {
 | 
					    protected void onCreate(Bundle savedInstanceState) {
 | 
				
			||||||
        super.onCreate(savedInstanceState);
 | 
					        super.onCreate(savedInstanceState);
 | 
				
			||||||
@ -44,13 +39,14 @@ implements NavigationDrawerFragment.NavigationDrawerCallbacks {
 | 
				
			|||||||
     
 | 
					     
 | 
				
			||||||
        getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, new WelcomeFragment()).commit();
 | 
					        getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, new WelcomeFragment()).commit();
 | 
				
			||||||
           
 | 
					           
 | 
				
			||||||
      
 | 
					 | 
				
			||||||
        instance = this;
 | 
					        instance = this;
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        newsDataSource = new NewsDataSource(this);
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        newsDataSource.open();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    public static MainActivity getInstance()
 | 
					    public static MainActivity getInstance()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
		return instance;
 | 
							return instance;
 | 
				
			||||||
@ -60,16 +56,42 @@ implements NavigationDrawerFragment.NavigationDrawerCallbacks {
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
    public void OnSelectEnglish(View view)
 | 
					    public void OnSelectEnglish(View view)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
					        Locale.setDefault(Locale.US);
 | 
				
			||||||
 | 
					        Configuration config = new Configuration();
 | 
				
			||||||
 | 
					        config.locale = Locale.US;
 | 
				
			||||||
 | 
					        getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
 | 
				
			||||||
 | 
					    	
 | 
				
			||||||
 | 
					        getSupportActionBar().setTitle(R.string.app_name);
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        SetupDrawer();
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
		OpenMainScreen();
 | 
							OpenMainScreen();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public void OnSelectRussian(View view)
 | 
						public void OnSelectRussian(View view)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
							Locale locale = new Locale("ru"); 
 | 
				
			||||||
 | 
					        Locale.setDefault(locale);
 | 
				
			||||||
 | 
					        Configuration config = new Configuration();
 | 
				
			||||||
 | 
					        config.locale = locale;
 | 
				
			||||||
 | 
					        getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
 | 
				
			||||||
 | 
					    	
 | 
				
			||||||
 | 
					        getSupportActionBar().setTitle(R.string.app_name);
 | 
				
			||||||
 | 
					        SetupDrawer();
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
		OpenMainScreen();
 | 
							OpenMainScreen();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public void OnSelectChinese(View view)
 | 
						public void OnSelectChinese(View view)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
					        Locale.setDefault(Locale.CHINA);
 | 
				
			||||||
 | 
					        Configuration config = new Configuration();
 | 
				
			||||||
 | 
					        config.locale = Locale.CHINA;
 | 
				
			||||||
 | 
					        getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
 | 
				
			||||||
 | 
					    	
 | 
				
			||||||
 | 
					        getSupportActionBar().setTitle(R.string.app_name);
 | 
				
			||||||
 | 
					        SetupDrawer();
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
		OpenMainScreen();
 | 
							OpenMainScreen();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
@ -81,13 +103,27 @@ implements NavigationDrawerFragment.NavigationDrawerCallbacks {
 | 
				
			|||||||
	public void OpenMainScreen()
 | 
						public void OpenMainScreen()
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//mainFragment = new MainFragment();
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new MainPageFragment()).commit();
 | 
							getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new MainPageFragment()).commit();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		mNavigationDrawerFragment.EnableDrawer();
 | 
							mNavigationDrawerFragment.EnableDrawer();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
						public void OpenNewsScreen()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new NewsListFragment()).commit();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							mNavigationDrawerFragment.EnableDrawer();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public void OpenNewsRecordScreen(NewsRecord newsRecord)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							//Xperimental -- addToBackStack provoke error "Class not found". Need to resolve somehow!
 | 
				
			||||||
 | 
							//getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new NewsRecordFragment(newsRecord)).addToBackStack(null).commit();
 | 
				
			||||||
 | 
							getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new NewsRecordFragment(newsRecord)).commit();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							mNavigationDrawerFragment.EnableDrawer();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	@Override
 | 
						@Override
 | 
				
			||||||
	public void onAttachFragment(Fragment fragment)
 | 
						public void onAttachFragment(Fragment fragment)
 | 
				
			||||||
@ -135,17 +171,40 @@ implements NavigationDrawerFragment.NavigationDrawerCallbacks {
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void onNavigationDrawerItemSelected(int position) {
 | 
					    public void onNavigationDrawerItemSelected(int position)
 | 
				
			||||||
        // update the main content by replacing fragments
 | 
					    {
 | 
				
			||||||
        //FragmentManager fragmentManager = getSupportFragmentManager();
 | 
					    	if (position == 1)
 | 
				
			||||||
        //fragmentManager.beginTransaction()
 | 
					    	{
 | 
				
			||||||
       //         .replace(R.id.container, PlaceholderFragment.newInstance(position + 1))
 | 
					    		OpenMainScreen();
 | 
				
			||||||
        //        .commit();
 | 
					    	}
 | 
				
			||||||
 | 
					    	else if (position == 2)
 | 
				
			||||||
 | 
					    	{
 | 
				
			||||||
 | 
					    		OpenNewsScreen();
 | 
				
			||||||
 | 
					    	}
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public void onBackPressed() {
 | 
				
			||||||
 | 
					        if(getSupportFragmentManager().getBackStackEntryCount() != 0) {
 | 
				
			||||||
 | 
					        	getSupportFragmentManager().popBackStack();
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            super.onBackPressed();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }   
 | 
				
			||||||
   
 | 
					   
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    protected void onResume() {
 | 
				
			||||||
 | 
					    	newsDataSource.open();
 | 
				
			||||||
 | 
					      super.onResume();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    protected void onPause() {
 | 
				
			||||||
 | 
					    	newsDataSource.close();
 | 
				
			||||||
 | 
					      super.onPause();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -10,6 +10,7 @@ import android.os.Bundle;
 | 
				
			|||||||
import android.support.v4.app.Fragment;
 | 
					import android.support.v4.app.Fragment;
 | 
				
			||||||
import android.view.LayoutInflater;
 | 
					import android.view.LayoutInflater;
 | 
				
			||||||
import android.view.View;
 | 
					import android.view.View;
 | 
				
			||||||
 | 
					import android.view.View.OnClickListener;
 | 
				
			||||||
import android.view.ViewGroup;
 | 
					import android.view.ViewGroup;
 | 
				
			||||||
import android.widget.BaseAdapter;
 | 
					import android.widget.BaseAdapter;
 | 
				
			||||||
import android.widget.Button;
 | 
					import android.widget.Button;
 | 
				
			||||||
@ -45,6 +46,8 @@ public class MainPageFragment extends Fragment implements NewsUpdatedCallbackInt
 | 
				
			|||||||
	ListView listView;
 | 
						ListView listView;
 | 
				
			||||||
	View header;
 | 
						View header;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
						NewsManager.RemoveCallbackInterface downloadNewsCanceller;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	@Override
 | 
						@Override
 | 
				
			||||||
	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 | 
						public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 | 
				
			||||||
		View rootView = inflater.inflate(R.layout.fragment_main_page, container, false);
 | 
							View rootView = inflater.inflate(R.layout.fragment_main_page, container, false);
 | 
				
			||||||
@ -57,13 +60,34 @@ public class MainPageFragment extends Fragment implements NewsUpdatedCallbackInt
 | 
				
			|||||||
		
 | 
							
 | 
				
			||||||
		RefreshHeader();
 | 
							RefreshHeader();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		NewsManager.GetInstance().DownloadNews(this);
 | 
							downloadNewsCanceller = NewsManager.GetInstance().DownloadNews(this);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		listView.addHeaderView(header);
 | 
							listView.addHeaderView(header);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
 | 
							Button moreNewsButton = (Button) header.findViewById(R.id.moreNewsButton);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							moreNewsButton.setOnClickListener(new OnClickListener()
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								@Override
 | 
				
			||||||
 | 
								public void onClick(View v)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									MainActivity.getInstance().OpenNewsScreen();
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		return rootView;
 | 
							return rootView;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
						public void onDestroyView()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							downloadNewsCanceller.RemoveCallback();
 | 
				
			||||||
 | 
							super.onDestroyView();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	private void RefreshHeader()
 | 
						private void RefreshHeader()
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@ -176,10 +200,7 @@ public class MainPageFragment extends Fragment implements NewsUpdatedCallbackInt
 | 
				
			|||||||
	        
 | 
						        
 | 
				
			||||||
	        textView.setText(teaserHeaderArray[position]);
 | 
						        textView.setText(teaserHeaderArray[position]);
 | 
				
			||||||
	        
 | 
						        
 | 
				
			||||||
	        button.setText("Посмотреть все");
 | 
						        button.setText(R.string.see_all);
 | 
				
			||||||
	        
 | 
					 | 
				
			||||||
	        
 | 
					 | 
				
			||||||
	        
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	        return view;
 | 
						        return view;
 | 
				
			||||||
	    }
 | 
						    }
 | 
				
			||||||
 | 
				
			|||||||
@ -1,12 +1,10 @@
 | 
				
			|||||||
package fishrungames.bashgid;
 | 
					package fishrungames.bashgid;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import it.sephiroth.android.library.widget.HListView;
 | 
					 | 
				
			||||||
import android.content.Context;
 | 
					import android.content.Context;
 | 
				
			||||||
import android.view.LayoutInflater;
 | 
					import android.view.LayoutInflater;
 | 
				
			||||||
import android.view.View;
 | 
					import android.view.View;
 | 
				
			||||||
import android.view.ViewGroup;
 | 
					import android.view.ViewGroup;
 | 
				
			||||||
import android.widget.BaseAdapter;
 | 
					import android.widget.BaseAdapter;
 | 
				
			||||||
import android.widget.Button;
 | 
					 | 
				
			||||||
import android.widget.ImageButton;
 | 
					import android.widget.ImageButton;
 | 
				
			||||||
import android.widget.LinearLayout;
 | 
					import android.widget.LinearLayout;
 | 
				
			||||||
import android.widget.TextView;
 | 
					import android.widget.TextView;
 | 
				
			||||||
@ -67,10 +65,8 @@ public class MainPageHListViewAdapters {
 | 
				
			|||||||
	        
 | 
						        
 | 
				
			||||||
	        subTextView.setText(subTextsArray[position]);
 | 
						        subTextView.setText(subTextsArray[position]);
 | 
				
			||||||
	        
 | 
						        
 | 
				
			||||||
	        //imageButton.setImageResource(imgIdArray[position]);
 | 
					 | 
				
			||||||
	        imageButton.setBackgroundResource(imgIdArray[position]);
 | 
						        imageButton.setBackgroundResource(imgIdArray[position]);
 | 
				
			||||||
	        
 | 
						        
 | 
				
			||||||
	        
 | 
					 | 
				
			||||||
	        return view;
 | 
						        return view;
 | 
				
			||||||
	    }
 | 
						    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -22,7 +22,6 @@ import android.view.View;
 | 
				
			|||||||
import android.view.ViewGroup;
 | 
					import android.view.ViewGroup;
 | 
				
			||||||
import android.view.ViewGroup.LayoutParams;
 | 
					import android.view.ViewGroup.LayoutParams;
 | 
				
			||||||
import android.widget.AdapterView;
 | 
					import android.widget.AdapterView;
 | 
				
			||||||
import android.widget.ArrayAdapter;
 | 
					 | 
				
			||||||
import android.widget.BaseAdapter;
 | 
					import android.widget.BaseAdapter;
 | 
				
			||||||
import android.widget.ImageView;
 | 
					import android.widget.ImageView;
 | 
				
			||||||
import android.widget.ListView;
 | 
					import android.widget.ListView;
 | 
				
			||||||
@ -65,8 +64,9 @@ public class NavigationDrawerFragment extends Fragment {
 | 
				
			|||||||
    private boolean mFromSavedInstanceState;
 | 
					    private boolean mFromSavedInstanceState;
 | 
				
			||||||
    private boolean mUserLearnedDrawer;
 | 
					    private boolean mUserLearnedDrawer;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					    private DrawerAdapter drawerAdapter;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public NavigationDrawerFragment() {
 | 
					    public NavigationDrawerFragment() {
 | 
				
			||||||
    	String s = "";
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
@ -75,7 +75,7 @@ public class NavigationDrawerFragment extends Fragment {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        // Read in the flag indicating whether or not the user has demonstrated awareness of the
 | 
					        // Read in the flag indicating whether or not the user has demonstrated awareness of the
 | 
				
			||||||
        // drawer. See PREF_USER_LEARNED_DRAWER for details.
 | 
					        // drawer. See PREF_USER_LEARNED_DRAWER for details.
 | 
				
			||||||
        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity());
 | 
					        //SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity());
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        //Don't need this shit
 | 
					        //Don't need this shit
 | 
				
			||||||
        //mUserLearnedDrawer = sp.getBoolean(PREF_USER_LEARNED_DRAWER, false);
 | 
					        //mUserLearnedDrawer = sp.getBoolean(PREF_USER_LEARNED_DRAWER, false);
 | 
				
			||||||
@ -110,7 +110,10 @@ public class NavigationDrawerFragment extends Fragment {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
        mDrawerListView.setAdapter(new DrawerAdapter(getActivity()));  
 | 
					        
 | 
				
			||||||
 | 
					        drawerAdapter = new DrawerAdapter(getActivity());
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        mDrawerListView.setAdapter(drawerAdapter);  
 | 
				
			||||||
               
 | 
					               
 | 
				
			||||||
        mDrawerListView.setItemChecked(mCurrentSelectedPosition, true);
 | 
					        mDrawerListView.setItemChecked(mCurrentSelectedPosition, true);
 | 
				
			||||||
        return mDrawerListView;
 | 
					        return mDrawerListView;
 | 
				
			||||||
@ -203,6 +206,8 @@ public class NavigationDrawerFragment extends Fragment {
 | 
				
			|||||||
        
 | 
					        
 | 
				
			||||||
        mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
 | 
					        mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        drawerAdapter.notifyDataSetChanged();
 | 
				
			||||||
 | 
					       
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private void selectItem(int position) {
 | 
					    private void selectItem(int position) {
 | 
				
			||||||
@ -261,11 +266,13 @@ public class NavigationDrawerFragment extends Fragment {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public boolean onOptionsItemSelected(MenuItem item) {
 | 
					    public boolean onOptionsItemSelected(MenuItem item) {
 | 
				
			||||||
 | 
					    	
 | 
				
			||||||
 | 
					    	//Xperimental -- check if we need options or not
 | 
				
			||||||
        if (mDrawerToggle.onOptionsItemSelected(item)) {
 | 
					        if (mDrawerToggle.onOptionsItemSelected(item)) {
 | 
				
			||||||
            return true;
 | 
					            return true;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (item.getItemId() == R.id.action_example) {
 | 
					        if (item.getItemId() == R.id.action_settings) {
 | 
				
			||||||
            Toast.makeText(getActivity(), "Example action.", Toast.LENGTH_SHORT).show();
 | 
					            Toast.makeText(getActivity(), "Example action.", Toast.LENGTH_SHORT).show();
 | 
				
			||||||
            return true;
 | 
					            return true;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -303,16 +310,17 @@ public class NavigationDrawerFragment extends Fragment {
 | 
				
			|||||||
	public class DrawerAdapter extends BaseAdapter {
 | 
						public class DrawerAdapter extends BaseAdapter {
 | 
				
			||||||
	    private Context mContext;
 | 
						    private Context mContext;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	    final String [] titles = {
 | 
						    
 | 
				
			||||||
	    		"Виртуальный гид",
 | 
						    final int [] titles = {
 | 
				
			||||||
	    		"Гид",
 | 
						    		R.string.drawer_header,
 | 
				
			||||||
	    		"Новости",
 | 
						    		R.string.drawer_guide,
 | 
				
			||||||
	    		"Каталог",
 | 
						    		R.string.drawer_news,
 | 
				
			||||||
	    		"Карта",
 | 
						    		R.string.drawer_catalogue,
 | 
				
			||||||
	    		"Видео",
 | 
						    		R.string.drawer_map,
 | 
				
			||||||
	    		"Фотогалерея",
 | 
						    		R.string.drawer_video,
 | 
				
			||||||
	    		"Инвестору",
 | 
						    		R.string.drawer_photo_gallery,
 | 
				
			||||||
	    		"Настройки"
 | 
						    		R.string.drawer_for_investor,
 | 
				
			||||||
 | 
						    		R.string.drawer_settings
 | 
				
			||||||
	    		};
 | 
						    		};
 | 
				
			||||||
	    
 | 
						    
 | 
				
			||||||
	    final int [] iconIds = {
 | 
						    final int [] iconIds = {
 | 
				
			||||||
@ -377,8 +385,8 @@ public class NavigationDrawerFragment extends Fragment {
 | 
				
			|||||||
	        else
 | 
						        else
 | 
				
			||||||
	        {
 | 
						        {
 | 
				
			||||||
	        	LayoutParams params = imageView.getLayoutParams();
 | 
						        	LayoutParams params = imageView.getLayoutParams();
 | 
				
			||||||
	        	params.width = 24;
 | 
						        	params.width = 48;
 | 
				
			||||||
	        	params.height = 24;
 | 
						        	params.height = 48;
 | 
				
			||||||
	        	imageView.setLayoutParams(params);
 | 
						        	imageView.setLayoutParams(params);
 | 
				
			||||||
	        	
 | 
						        	
 | 
				
			||||||
	        	textView.setTypeface(null, Typeface.NORMAL);
 | 
						        	textView.setTypeface(null, Typeface.NORMAL);
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										151
									
								
								android/src/fishrungames/bashgid/NewsListFragment.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								android/src/fishrungames/bashgid/NewsListFragment.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,151 @@
 | 
				
			|||||||
 | 
					package fishrungames.bashgid;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import fishrungames.bashgid.core.ImageManager;
 | 
				
			||||||
 | 
					import fishrungames.bashgid.core.NewsManager;
 | 
				
			||||||
 | 
					import fishrungames.bashgid.core.NewsManager.NewsRecord;
 | 
				
			||||||
 | 
					import fishrungames.bashgid.core.NewsManager.NewsUpdatedCallbackInterface;
 | 
				
			||||||
 | 
					import android.content.Context;
 | 
				
			||||||
 | 
					import android.os.Bundle;
 | 
				
			||||||
 | 
					import android.support.v4.app.Fragment;
 | 
				
			||||||
 | 
					import android.view.LayoutInflater;
 | 
				
			||||||
 | 
					import android.view.View;
 | 
				
			||||||
 | 
					import android.view.View.OnClickListener;
 | 
				
			||||||
 | 
					import android.view.ViewGroup;
 | 
				
			||||||
 | 
					import android.widget.BaseAdapter;
 | 
				
			||||||
 | 
					import android.widget.Button;
 | 
				
			||||||
 | 
					import android.widget.ImageButton;
 | 
				
			||||||
 | 
					import android.widget.ListView;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class NewsListFragment extends Fragment implements NewsUpdatedCallbackInterface
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ListView listView;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						ListAdapter listAdapter;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						ArrayList<NewsRecord> newsRecordArr;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						NewsManager.RemoveCallbackInterface downloadNewsCanceller;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 | 
				
			||||||
 | 
							View rootView = inflater.inflate(R.layout.fragment_news_page, container, false);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							newsRecordArr = NewsManager.GetInstance().getNews();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							downloadNewsCanceller = NewsManager.GetInstance().DownloadNews(this);
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
							listView = (ListView) rootView.findViewById(R.id.listView);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							listAdapter = new ListAdapter(getActivity());
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							listView.setAdapter(listAdapter);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							View header = inflater.inflate(R.layout.news_page_list_header, null);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							listView.addHeaderView(header);
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
							return rootView;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public void onDestroyView()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							downloadNewsCanceller.RemoveCallback();
 | 
				
			||||||
 | 
							super.onDestroyView();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public void RefreshNewsList()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							newsRecordArr = NewsManager.GetInstance().getNews();
 | 
				
			||||||
 | 
							listAdapter.notifyDataSetChanged();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public class ListAdapter extends BaseAdapter {
 | 
				
			||||||
 | 
						    private Context mContext;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						    public ListAdapter(Context c) {
 | 
				
			||||||
 | 
						        mContext = c;
 | 
				
			||||||
 | 
						    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						    public int getCount() {
 | 
				
			||||||
 | 
						        return newsRecordArr.size();
 | 
				
			||||||
 | 
						    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						    public Object getItem(int position) {
 | 
				
			||||||
 | 
						        return null;
 | 
				
			||||||
 | 
						    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						    public long getItemId(int position) {
 | 
				
			||||||
 | 
						        return 0;
 | 
				
			||||||
 | 
						    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						    // create a new ImageView for each item referenced by the Adapter
 | 
				
			||||||
 | 
						    public View getView(int position, View convertView, ViewGroup parent) {
 | 
				
			||||||
 | 
						        
 | 
				
			||||||
 | 
						    	
 | 
				
			||||||
 | 
						    	View view;
 | 
				
			||||||
 | 
						        if (convertView == null) {  // if it's not recycled, initialize some attributes
 | 
				
			||||||
 | 
						        	LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 | 
				
			||||||
 | 
						        	view = inflater.inflate(R.layout.news_page_list_element, null);
 | 
				
			||||||
 | 
						        	
 | 
				
			||||||
 | 
						   
 | 
				
			||||||
 | 
						        } else {
 | 
				
			||||||
 | 
						        	view = convertView;
 | 
				
			||||||
 | 
						        }
 | 
				
			||||||
 | 
						        
 | 
				
			||||||
 | 
						        ImageButton imageButton = (ImageButton) view.findViewById(R.id.imageButton);
 | 
				
			||||||
 | 
						        
 | 
				
			||||||
 | 
						        Button button = (Button) view.findViewById(R.id.button);
 | 
				
			||||||
 | 
						        
 | 
				
			||||||
 | 
						        ImageManager.getInstance().ApplyImageToImageView(imageButton, newsRecordArr.get(position).imageId);
 | 
				
			||||||
 | 
						        
 | 
				
			||||||
 | 
						        button.setText(newsRecordArr.get(position).title);
 | 
				
			||||||
 | 
						        
 | 
				
			||||||
 | 
						        button.setOnClickListener(new ButtonOnClickListener(newsRecordArr.get(position)));
 | 
				
			||||||
 | 
						        
 | 
				
			||||||
 | 
						        imageButton.setOnClickListener(new ButtonOnClickListener(newsRecordArr.get(position)));
 | 
				
			||||||
 | 
						        
 | 
				
			||||||
 | 
						        return view;
 | 
				
			||||||
 | 
						    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public void OnNewsUpdated()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							getActivity().runOnUiThread(new Runnable() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								@Override
 | 
				
			||||||
 | 
								public void run()
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									RefreshNewsList();
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public static class ButtonOnClickListener implements OnClickListener
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							NewsRecord newsRecord;
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							public ButtonOnClickListener(NewsRecord newsRecord)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								this.newsRecord = newsRecord;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							@Override
 | 
				
			||||||
 | 
							public void onClick(View v)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MainActivity.getInstance().OpenNewsRecordScreen(newsRecord);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										42
									
								
								android/src/fishrungames/bashgid/NewsRecordFragment.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								android/src/fishrungames/bashgid/NewsRecordFragment.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					package fishrungames.bashgid;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import fishrungames.bashgid.core.ImageManager;
 | 
				
			||||||
 | 
					import fishrungames.bashgid.core.NewsManager.NewsRecord;
 | 
				
			||||||
 | 
					import android.os.Bundle;
 | 
				
			||||||
 | 
					import android.support.v4.app.Fragment;
 | 
				
			||||||
 | 
					import android.view.LayoutInflater;
 | 
				
			||||||
 | 
					import android.view.View;
 | 
				
			||||||
 | 
					import android.view.ViewGroup;
 | 
				
			||||||
 | 
					import android.widget.ImageView;
 | 
				
			||||||
 | 
					import android.widget.TextView;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class NewsRecordFragment extends Fragment
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						NewsRecord newsRecord;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public NewsRecordFragment(NewsRecord newsRecord)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							this.newsRecord = newsRecord;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 | 
				
			||||||
 | 
							View rootView = inflater.inflate(R.layout.fragment_news_record_page, container, false);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							TextView titleTextView = (TextView) rootView.findViewById(R.id.titleTextView);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							TextView descriptionTextView = (TextView) rootView.findViewById(R.id.descriptionTextView);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							ImageView imageView = (ImageView) rootView.findViewById(R.id.imageView);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							titleTextView.setText(newsRecord.title);
 | 
				
			||||||
 | 
							descriptionTextView.setText(newsRecord.description);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							ImageManager.getInstance().ApplyImageToImageView(imageView, newsRecord.imageId);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return rootView;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,22 +1,15 @@
 | 
				
			|||||||
package fishrungames.bashgid.core;
 | 
					package fishrungames.bashgid.core;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.io.BufferedInputStream;
 | 
					
 | 
				
			||||||
import java.io.BufferedReader;
 | 
					import java.io.BufferedReader;
 | 
				
			||||||
import java.io.IOException;
 | 
					import java.io.IOException;
 | 
				
			||||||
import java.io.InputStream;
 | 
					 | 
				
			||||||
import java.io.InputStreamReader;
 | 
					import java.io.InputStreamReader;
 | 
				
			||||||
import java.io.UnsupportedEncodingException;
 | 
					import java.io.UnsupportedEncodingException;
 | 
				
			||||||
import java.net.URL;
 | 
					import java.net.URL;
 | 
				
			||||||
import java.net.URLConnection;
 | 
					import java.net.URLConnection;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import org.apache.http.HttpEntity;
 | 
					 | 
				
			||||||
import org.apache.http.HttpResponse;
 | 
					 | 
				
			||||||
import org.apache.http.client.ClientProtocolException;
 | 
					import org.apache.http.client.ClientProtocolException;
 | 
				
			||||||
import org.apache.http.client.methods.HttpPost;
 | 
					
 | 
				
			||||||
import org.apache.http.impl.client.DefaultHttpClient;
 | 
					 | 
				
			||||||
import org.apache.http.util.ByteArrayBuffer;
 | 
					 | 
				
			||||||
import org.apache.http.util.CharArrayBuffer;
 | 
					 | 
				
			||||||
import org.apache.http.util.EntityUtils;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class DownloadManager {
 | 
					public class DownloadManager {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -54,4 +47,10 @@ public class DownloadManager {
 | 
				
			|||||||
        // return XML
 | 
					        // return XML
 | 
				
			||||||
        return xml;
 | 
					        return xml;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public static boolean MimeTypeIsImage(String mimeType)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							return mimeType.equals("image/bmp") || mimeType.equals("image/gif") || mimeType.equals("image/jpeg") || mimeType.equals("image/png");
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,9 +1,18 @@
 | 
				
			|||||||
package fishrungames.bashgid.core;
 | 
					package fishrungames.bashgid.core;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.io.File;
 | 
				
			||||||
 | 
					import java.io.FileOutputStream;
 | 
				
			||||||
 | 
					import java.io.InputStream;
 | 
				
			||||||
 | 
					import java.net.URL;
 | 
				
			||||||
import java.util.HashMap;
 | 
					import java.util.HashMap;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import fishrungames.bashgid.MainActivity;
 | 
				
			||||||
import fishrungames.bashgid.R;
 | 
					import fishrungames.bashgid.R;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import android.content.Context;
 | 
				
			||||||
 | 
					import android.graphics.Bitmap;
 | 
				
			||||||
 | 
					import android.graphics.BitmapFactory;
 | 
				
			||||||
 | 
					import android.util.Base64;
 | 
				
			||||||
import android.util.Log;
 | 
					import android.util.Log;
 | 
				
			||||||
import android.widget.ImageView;
 | 
					import android.widget.ImageView;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -49,6 +58,67 @@ public class ImageManager {
 | 
				
			|||||||
			
 | 
								
 | 
				
			||||||
			imageView.setImageResource(resourceId);
 | 
								imageView.setImageResource(resourceId);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								String fileName = ImageUrlToFileName(imageId);
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								File f = MainActivity.getInstance().getFileStreamPath(fileName);
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								if (f.exists())
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									Bitmap bitmap = BitmapFactory.decodeFile( MainActivity.getInstance().getFileStreamPath(fileName).getAbsolutePath());
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
									imageView.setImageBitmap(bitmap);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									Log.e("Error: ", "Image requested but not downloaded: " + imageId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									imageView.setImageResource(R.drawable.transparent);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public static String ImageUrlToFileName(String imageUrl)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							String beforeExtension = imageUrl.substring(0, imageUrl.lastIndexOf("."));
 | 
				
			||||||
 | 
							String extension = imageUrl.substring(imageUrl.lastIndexOf("."));
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return Base64.encodeToString(beforeExtension.getBytes(), Base64.DEFAULT) + extension;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public void DownloadImageIfNeeded(String imageUrl)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							String fileName = ImageUrlToFileName(imageUrl);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							File f = MainActivity.getInstance().getFileStreamPath(fileName);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if (f.exists())
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							try {
 | 
				
			||||||
 | 
						        InputStream is = (InputStream) new URL(imageUrl).getContent();
 | 
				
			||||||
 | 
						        
 | 
				
			||||||
 | 
						        FileOutputStream out = null;
 | 
				
			||||||
 | 
						        
 | 
				
			||||||
 | 
						        out = MainActivity.getInstance().openFileOutput(fileName, Context.MODE_PRIVATE);
 | 
				
			||||||
 | 
						        
 | 
				
			||||||
 | 
						        byte [] buf = new byte[1024];
 | 
				
			||||||
 | 
						         
 | 
				
			||||||
 | 
						        int numRead;
 | 
				
			||||||
 | 
						        
 | 
				
			||||||
 | 
						        while ( (numRead = is.read(buf) ) >= 0) {
 | 
				
			||||||
 | 
						        	out.write(buf, 0, numRead);
 | 
				
			||||||
 | 
						        }
 | 
				
			||||||
 | 
						        
 | 
				
			||||||
 | 
						        out.close();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							} catch (Exception e) {
 | 
				
			||||||
 | 
						        e.printStackTrace();
 | 
				
			||||||
 | 
						    }
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
				
			|||||||
@ -2,6 +2,8 @@ package fishrungames.bashgid.core;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import java.util.ArrayList;
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import fishrungames.bashgid.MainActivity;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class NewsManager {
 | 
					public class NewsManager {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	private static NewsManager instance = null;
 | 
						private static NewsManager instance = null;
 | 
				
			||||||
@ -24,7 +26,7 @@ public class NewsManager {
 | 
				
			|||||||
		public String description;
 | 
							public String description;
 | 
				
			||||||
		public String imageId;
 | 
							public String imageId;
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		NewsRecord(String title, String description, String imageId)
 | 
							public NewsRecord(String title, String description, String imageId)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			this.title = title;
 | 
								this.title = title;
 | 
				
			||||||
			this.description = description;
 | 
								this.description = description;
 | 
				
			||||||
@ -35,20 +37,33 @@ public class NewsManager {
 | 
				
			|||||||
		{
 | 
							{
 | 
				
			||||||
			this.title = rss2Item.title;
 | 
								this.title = rss2Item.title;
 | 
				
			||||||
			this.description = rss2Item.description;
 | 
								this.description = rss2Item.description;
 | 
				
			||||||
			this.imageId = "R.drawable.news_image1";
 | 
								
 | 
				
			||||||
 | 
								if ((rss2Item.rss2Enclosure != null) && (DownloadManager.MimeTypeIsImage(rss2Item.rss2Enclosure.mimeType)))
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									this.imageId = rss2Item.rss2Enclosure.url;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									this.imageId = "R.drawable.transparent";
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	ArrayList<NewsRecord> newsRecord = new ArrayList<NewsRecord>();
 | 
						ArrayList<NewsRecord> newsRecord = new ArrayList<NewsRecord>();
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public void DownloadNews(NewsUpdatedCallbackInterface callback)
 | 
						public RemoveCallbackInterface DownloadNews(NewsUpdatedCallbackInterface callback)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		Thread thread = new Thread(new DownloadNewsRunnable(callback));
 | 
							
 | 
				
			||||||
 | 
							DownloadNewsRunnable downloadNewsRunnable = new DownloadNewsRunnable(callback);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							Thread thread = new Thread(downloadNewsRunnable);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		thread.start();
 | 
							thread.start();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return downloadNewsRunnable;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	class DownloadNewsRunnable implements Runnable
 | 
						class DownloadNewsRunnable implements Runnable, RemoveCallbackInterface
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		NewsUpdatedCallbackInterface callback;
 | 
							NewsUpdatedCallbackInterface callback;
 | 
				
			||||||
@ -58,17 +73,39 @@ public class NewsManager {
 | 
				
			|||||||
			this.callback = callback;
 | 
								this.callback = callback;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
 | 
							@Override
 | 
				
			||||||
 | 
							public void RemoveCallback()
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								callback = null;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
		@Override
 | 
							@Override
 | 
				
			||||||
		public void run()
 | 
							public void run()
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			String xmlCode = DownloadManager.getXmlFromUrl("http://www.bashinform.ru/rss/all.xml");
 | 
								String xmlCode = DownloadManager.getXmlFromUrl("http://www.bashinform.ru/rss/all.xml");
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
 | 
								if (xmlCode == null)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									return;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								
 | 
				
			||||||
			RssReader rssReader = new RssReader();
 | 
								RssReader rssReader = new RssReader();
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			rssReader.ReadRss(xmlCode);
 | 
								rssReader.ReadRss(xmlCode);
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			ArrayList<NewsRecord> localNewsRecord = new ArrayList<NewsRecord>();
 | 
								ArrayList<NewsRecord> localNewsRecord = new ArrayList<NewsRecord>();
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
 | 
								for (RssReader.Rss2Item rss2Item : rssReader.rss2ItemArr)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									if (rss2Item.rss2Enclosure != null)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										if (DownloadManager.MimeTypeIsImage(rss2Item.rss2Enclosure.mimeType))
 | 
				
			||||||
 | 
										{
 | 
				
			||||||
 | 
											ImageManager.getInstance().DownloadImageIfNeeded(rss2Item.rss2Enclosure.url);
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								
 | 
				
			||||||
			for (RssReader.Rss2Item rss2Item : rssReader.rss2ItemArr)
 | 
								for (RssReader.Rss2Item rss2Item : rssReader.rss2ItemArr)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				localNewsRecord.add(new NewsRecord(rss2Item));
 | 
									localNewsRecord.add(new NewsRecord(rss2Item));
 | 
				
			||||||
@ -77,21 +114,36 @@ public class NewsManager {
 | 
				
			|||||||
			//Xperimental -- need mutex right here
 | 
								//Xperimental -- need mutex right here
 | 
				
			||||||
			newsRecord = localNewsRecord;
 | 
								newsRecord = localNewsRecord;
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
 | 
								MainActivity.getInstance().newsDataSource.replaceNews(newsRecord);
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								//Xperimental -- need mutex here, too
 | 
				
			||||||
 | 
								if (callback != null)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
				callback.OnNewsUpdated();
 | 
									callback.OnNewsUpdated();
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public static interface NewsUpdatedCallbackInterface
 | 
						public static interface NewsUpdatedCallbackInterface
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		public void OnNewsUpdated();
 | 
							public void OnNewsUpdated();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
						public static interface RemoveCallbackInterface
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							public void RemoveCallback();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public NewsManager()
 | 
						public NewsManager()
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
							/*
 | 
				
			||||||
		newsRecord.add(new NewsRecord("Власти Башкирии создадут выезд из Уфы на трассу М-5 «Урал»", "Власти Башкирии создадут выезд из Уфы на трассу М-5 «Урал»", "R.drawable.news_image1"));
 | 
							newsRecord.add(new NewsRecord("Власти Башкирии создадут выезд из Уфы на трассу М-5 «Урал»", "Власти Башкирии создадут выезд из Уфы на трассу М-5 «Урал»", "R.drawable.news_image1"));
 | 
				
			||||||
		newsRecord.add(new NewsRecord("Башкирия заняла первое место индекса «деловой активности»", "Башкирия заняла первое место индекса «деловой активности»", "R.drawable.news_image2"));
 | 
							newsRecord.add(new NewsRecord("Башкирия заняла первое место индекса «деловой активности»", "Башкирия заняла первое место индекса «деловой активности»", "R.drawable.news_image2"));
 | 
				
			||||||
		newsRecord.add(new NewsRecord("«Салават Юлаев» обыграл «Ладу» и прервал серию из 5 поражений в КХЛ", "«Салават Юлаев» обыграл «Ладу» и прервал серию из 5 поражений в КХЛ", "R.drawable.news_image3"));
 | 
							newsRecord.add(new NewsRecord("«Салават Юлаев» обыграл «Ладу» и прервал серию из 5 поражений в КХЛ", "«Салават Юлаев» обыграл «Ладу» и прервал серию из 5 поражений в КХЛ", "R.drawable.news_image3"));
 | 
				
			||||||
 | 
						*/
 | 
				
			||||||
 | 
							newsRecord = MainActivity.getInstance().newsDataSource.getNews();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,8 @@ import org.w3c.dom.Document;
 | 
				
			|||||||
import org.w3c.dom.Element;
 | 
					import org.w3c.dom.Element;
 | 
				
			||||||
import org.w3c.dom.NodeList;
 | 
					import org.w3c.dom.NodeList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import android.util.Log;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class RssReader {
 | 
					public class RssReader {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
@ -75,6 +77,11 @@ public class RssReader {
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		Document xmlDoc = XmlProcessor.getDomElement(xmlCode);
 | 
							Document xmlDoc = XmlProcessor.getDomElement(xmlCode);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
 | 
							if (xmlDoc == null)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								Log.e("Error XML parsing", "Error XML parsing in ReadRss");
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		Element channel = (Element) xmlDoc.getElementsByTagName("channel").item(0);
 | 
							Element channel = (Element) xmlDoc.getElementsByTagName("channel").item(0);
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,50 @@
 | 
				
			|||||||
 | 
					package fishrungames.bashgid.core.db;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import android.content.Context;
 | 
				
			||||||
 | 
					import android.database.sqlite.SQLiteDatabase;
 | 
				
			||||||
 | 
					import android.database.sqlite.SQLiteOpenHelper;
 | 
				
			||||||
 | 
					import android.util.Log;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class BashgidSqliteHelper extends SQLiteOpenHelper
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  public static final String TABLE_NEWS = "table_news";
 | 
				
			||||||
 | 
						  public static final String COLUMN_ID = "_id";
 | 
				
			||||||
 | 
						  public static final String COLUMN_TITLE = "title";
 | 
				
			||||||
 | 
						  public static final String COLUMN_DESCRIPTION = "description";
 | 
				
			||||||
 | 
						  public static final String COLUMN_IMAGE_ID = "imageId";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  private static final String DATABASE_NAME = "bashgid.db";
 | 
				
			||||||
 | 
						  private static final int DATABASE_VERSION = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  // Database creation sql statement
 | 
				
			||||||
 | 
						  private static final String DATABASE_CREATE = "create table "
 | 
				
			||||||
 | 
						      + TABLE_NEWS +
 | 
				
			||||||
 | 
						      "(" + COLUMN_ID + " integer primary key autoincrement" + 
 | 
				
			||||||
 | 
						      ", " + COLUMN_TITLE + " text not null" +
 | 
				
			||||||
 | 
						      ", " + COLUMN_DESCRIPTION + " text not null" +
 | 
				
			||||||
 | 
						      ", " + COLUMN_IMAGE_ID + " text not null" +
 | 
				
			||||||
 | 
						      ");";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  public BashgidSqliteHelper(Context context) {
 | 
				
			||||||
 | 
						    super(context, DATABASE_NAME, null, DATABASE_VERSION);
 | 
				
			||||||
 | 
						  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  @Override
 | 
				
			||||||
 | 
						  public void onCreate(SQLiteDatabase database) {
 | 
				
			||||||
 | 
						    database.execSQL(DATABASE_CREATE);
 | 
				
			||||||
 | 
						  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  @Override
 | 
				
			||||||
 | 
						  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 | 
				
			||||||
 | 
						    
 | 
				
			||||||
 | 
							  Log.w(BashgidSqliteHelper.class.getName(),
 | 
				
			||||||
 | 
						        "Upgrading database from version " + oldVersion + " to "
 | 
				
			||||||
 | 
						            + newVersion + ", which will destroy all old data");
 | 
				
			||||||
 | 
						    db.execSQL("DROP TABLE IF EXISTS " + TABLE_NEWS);
 | 
				
			||||||
 | 
						    onCreate(db);
 | 
				
			||||||
 | 
						  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										88
									
								
								android/src/fishrungames/bashgid/core/db/NewsDataSource.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								android/src/fishrungames/bashgid/core/db/NewsDataSource.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,88 @@
 | 
				
			|||||||
 | 
					package fishrungames.bashgid.core.db;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import fishrungames.bashgid.core.NewsManager;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import android.content.ContentValues;
 | 
				
			||||||
 | 
					import android.content.Context;
 | 
				
			||||||
 | 
					import android.database.Cursor;
 | 
				
			||||||
 | 
					import android.database.SQLException;
 | 
				
			||||||
 | 
					import android.database.sqlite.SQLiteDatabase;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class NewsDataSource
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private SQLiteDatabase database;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private BashgidSqliteHelper dbHelper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private String[] allColumns = { BashgidSqliteHelper.COLUMN_ID, BashgidSqliteHelper.COLUMN_TITLE, BashgidSqliteHelper.COLUMN_DESCRIPTION,
 | 
				
			||||||
 | 
								BashgidSqliteHelper.COLUMN_IMAGE_ID };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public NewsDataSource(Context context) {
 | 
				
			||||||
 | 
							dbHelper = new BashgidSqliteHelper(context);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void open() throws SQLException
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							database = dbHelper.getWritableDatabase();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void close()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							dbHelper.close();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void createNewsRecord(NewsManager.NewsRecord newsRecord)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							ContentValues values = new ContentValues();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							values.put(BashgidSqliteHelper.COLUMN_TITLE, newsRecord.title);
 | 
				
			||||||
 | 
							values.put(BashgidSqliteHelper.COLUMN_DESCRIPTION, newsRecord.description);
 | 
				
			||||||
 | 
							values.put(BashgidSqliteHelper.COLUMN_IMAGE_ID, newsRecord.imageId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							database.insert(BashgidSqliteHelper.TABLE_NEWS, null, values);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void replaceNews(ArrayList<NewsManager.NewsRecord> newsRecordArr)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							database.delete(BashgidSqliteHelper.TABLE_NEWS, null, null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							for (NewsManager.NewsRecord newsRecord : newsRecordArr)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								createNewsRecord(newsRecord);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public ArrayList<NewsManager.NewsRecord> getNews()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							ArrayList<NewsManager.NewsRecord> newsRecordArr = new ArrayList<NewsManager.NewsRecord>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							Cursor cursor = database.query(BashgidSqliteHelper.TABLE_NEWS, allColumns, null, null, null, null, null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							cursor.moveToFirst();
 | 
				
			||||||
 | 
							while (!cursor.isAfterLast())
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								NewsManager.NewsRecord newsRecord = cursorToNewsRecord(cursor);
 | 
				
			||||||
 | 
								newsRecordArr.add(newsRecord);
 | 
				
			||||||
 | 
								cursor.moveToNext();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							// make sure to close the cursor
 | 
				
			||||||
 | 
							cursor.close();
 | 
				
			||||||
 | 
							return newsRecordArr;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private NewsManager.NewsRecord cursorToNewsRecord(Cursor cursor)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							NewsManager.NewsRecord newsRecord = new NewsManager.NewsRecord(cursor.getString(1), cursor.getString(2), cursor.getString(3));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							return newsRecord;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					package fishrungames.bashgid.core.db;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class NewsDbRecord
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						public long id;
 | 
				
			||||||
 | 
						public String title;
 | 
				
			||||||
 | 
						public String description;
 | 
				
			||||||
 | 
						public String imageId;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user