Project

General

Profile

« Previous | Next » 

Revision d2f9fa0d

Added by Leszek Koltunski over 1 year ago

Dialog About.

View differences:

src/main/java/org/distorted/dialogs/RubikDialogAbout.java
10 10
package org.distorted.dialogs;
11 11

  
12 12
import android.app.Dialog;
13
import android.content.Intent;
13 14
import android.content.pm.PackageInfo;
14 15
import android.content.pm.PackageManager;
15 16
import android.content.res.Resources;
17
import android.net.Uri;
16 18
import android.view.View;
17 19
import android.view.Window;
18 20
import android.view.WindowManager;
21
import android.widget.LinearLayout;
19 22
import android.widget.TextView;
20 23

  
21 24
import androidx.fragment.app.FragmentActivity;
22 25

  
26
import org.distorted.main.BuildConfig;
23 27
import org.distorted.main.R;
24 28
import org.distorted.main.RubikActivity;
25 29

  
......
109 113
    newV.setText(WHATS_NEW);
110 114
    TextView comV = view.findViewById(R.id.coming_message);
111 115
    comV.setText(WHATS_COMING);
116

  
117
    LinearLayout layoutShare = view.findViewById(R.id.about_share_layout);
118

  
119
    layoutShare.setOnClickListener(new View.OnClickListener()
120
       {
121
       @Override
122
       public void onClick(View v)
123
         {
124
         share(act);
125
         }
126
       });
127

  
128
    LinearLayout layoutEmail = view.findViewById(R.id.about_email_layout);
129

  
130
    layoutEmail.setOnClickListener(new View.OnClickListener()
131
       {
132
       @Override
133
       public void onClick(View v)
134
         {
135
         email(act);
136
         }
137
       });
138
    }
139

  
140
///////////////////////////////////////////////////////////////////////////////////////////////////
141

  
142
  private void share(FragmentActivity act)
143
    {
144
    Resources res = act.getResources();
145
    String name = res.getString(R.string.app_name);
146

  
147
    Intent intent = new Intent();
148
    intent.setAction(Intent.ACTION_SEND);
149
    intent.putExtra(Intent.EXTRA_TEXT,
150
    name+": https://play.google.com/store/apps/details?id=" + BuildConfig.APPLICATION_ID);
151
    intent.setType("text/plain");
152

  
153
    if (intent.resolveActivity(act.getPackageManager()) != null)
154
      {
155
      startActivity(intent);
156
      }
157
    }
158

  
159
///////////////////////////////////////////////////////////////////////////////////////////////////
160

  
161
  private void email(FragmentActivity act)
162
    {
163
    Resources res = act.getResources();
164
    String[] email = { res.getString(R.string.email_address) };
165
    String version = findCurrentVersion((RubikActivity)act);
166
    String name = res.getString(R.string.app_name);
167

  
168
    Intent intent = new Intent(Intent.ACTION_SENDTO);
169
    intent.setData(Uri.parse("mailto:")); // only email apps should handle this
170
    intent.putExtra(Intent.EXTRA_EMAIL, email);
171
    intent.putExtra(Intent.EXTRA_SUBJECT, name+" "+version);
172

  
173
    if (intent.resolveActivity(act.getPackageManager()) != null)
174
      {
175
      startActivity(intent);
176
      }
112 177
    }
113 178

  
114 179
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/res/layout/dialog_about.xml
99 99
               android:layout_height="wrap_content"
100 100
               android:gravity="start"
101 101
               android:textSize="14sp"
102
               android:autoLink="email"
102 103
               android:text="@string/email_address"
103 104
               android:layout_marginLeft="10dp"
104 105
               android:layout_marginRight="10dp"

Also available in: Unified diff